html表單標籤關於get和post請求

B/S架構爲了實現web服務器和瀏覽器的交互,必然的產生了一些相應的規則,在html中表單的提交與驗證顯得尤爲重要,這裏主要談一談關於form表單的提交知識點。

在表單提交的功能上,我們將它分爲,兩個請求。其一,提交數據的post請求,其二,獲取數據的get請求。
在html中的form標籤中有method這樣一個屬性,它有get,post兩個值。

get請求

get請求最常見的就是百度搜索時,通過將瀏覽器輸入框的關鍵字提交給百度服務器,然後百度返回一個你想要的頁面信息,就是告訴服務器你想要啥,服務器就給你啥。

下面舉一個例子
action屬性代表你想提交給誰,method代表提交的方式,這裏是用get請求,提交給百度

<form action="http://www.baidu.com" method="get">
			<p>
				<input type="text" name="u_name"value="user"/>
			</p>
			<p>
				<input type="password" name="pass"value="123" />
			</p>
			<p>
				<input type="submit"value="提交" />
			</p>
</form>

按下提交按鈕後你會發現已經跳轉到百度頁面,並且在網址欄有一串附帶的字符串,在?後面就是你要傳給百度的相應信息,在這裏我傳入了用戶名u_name值爲user和密碼pass值爲123,它們用&相隔,注意,必須是input標籤中出現name屬性的信息纔會被傳遞。
在這裏插入圖片描述

post請求

post請求類似於日常生活中的註冊賬號,填寫問卷調查,你在瀏覽器上面完成這些事之後,點一個提交按鈕,這些消息就會被傳給相應的服務器並且保存入數據庫中,服務器並不需要再返回和給用戶呈現什麼必要的信息。

看一下這個例子,如果我將get直接改爲post請求,將會產生什麼結果

<form action="http://www.baidu.com" method="post">
			<p>
				<input type="text" name="u_name"value="user"/>
			</p>
			<p>
				<input type="password" name="pass"value="123" />
			</p>
			<p>
				<input type="submit"value="提交" />
			</p>
</form>

顯而易見,網址中沒有附帶字符串,而是直接跳轉到一個error頁面,訪問的頁面不存在
在這裏插入圖片描述那麼是不是我們的數據就沒有提交給服務器呢,不是的,只不過是post的保密性更好,信息被隱藏了,如果你打開頁面的檢查,查看network,就可以在瀏覽器發送的請求中看到我們的信息。

在這裏插入圖片描述那麼由此可見,post和get似乎只是在傳遞數據的方式上有所不同,那麼兩着是不是能夠混用呢,答案是可以是可以,但最好不要這麼做。
get請求最好不要用來提交大量數據,例如上傳圖片或者視頻,你不可讓一大串字符出現在瀏覽器地址框中。

用python的flask框架製作可在局域網內訪問的靜態網站

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章