網頁表單Form中的get VS post之九大不同

網頁技術中,經常會用到Form表單標籤。Form標籤的method屬性有get和post兩個值,其主要區別是:

①數據去向不同

get請求從服務器上獲得資源,而post是用來向服務器提交數據,比如,註冊郵箱提交的個人信息。

②表單數據傳遞形式不同

get將表單中數據按照name=value的形式,添加到action 所指向的url後面,且用"?"連接,各變量之間用"&"連接。

比如:

itexample.jsp?name=it&pwd=123456

post請求將表單中的數據放在HTTP協議的請求頭或消息體中,傳遞到action所指向url。

③數據傳輸大小不同

get傳輸的數據要受到url長度限制,一般為1024字節。

而post可傳輸較大的數據,上傳文件通常要用post方式。

④數據傳輸安全性不同

使用get時參數會顯示在瀏覽器的地址欄上,象密碼這些數據是不能明文顯示的,此時應該用用post,否則使用get。

⑤數據編碼類型不同

get使用MIME類型application/x-www-form-urlencoded的URL編碼。

而post採用application/x-www-form-urlencoded 或 multipart/form-data,為二進制數據使用多重編碼。

⑥書籤是否保存不同

get生成的URL地址可以被書籤保存,而post不可以。

⑦是否緩存不同

get請求瀏覽器會緩存,而post請求不會緩存。

⑧參數是否會保留在瀏覽歷史中不同

使用get時參數會保留在瀏覽器歷史中,而使用post則參數不會保存到瀏覽器的歷史中。

⑨是否會二次提交數據不同

使用get的按後退按鈕/刷新,在瀏覽器回退時是無害的;而使用post的按後退按鈕/刷新,數據會重新提交。

網頁表單Form中的get VS post之九大不同



分享到:


相關文章: