1.get是從服務器上獲取數據,post是向服務器傳送數據。
2.get提交,提交的信息都顯示在地址欄中,將信息封裝到了請求信息的請求行中,post提交,提交的信息不顯示在地址欄中,將信息封裝到請求體中。
(get是把參數數據隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個字段一一對應,在URL中可以看到。
post是通過HTTP post機制,將表單內各個字段與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。
用戶看不到這個過程)
3.get提交,對於敏感的數據信息不安全,post提交對於敏感信息安全,也就是get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。
4. get提交,傳送的數據量較小,因爲地址欄存儲體積有限,不能大於2KB,post提交可以提交大體積的數據,一般被默認爲不受限制。但理論上,IIS4中最大量爲80KB,IIS5中爲100KB。
5. 在服務端的一個區別
對於get方式,服務器端用Request.QueryString獲取變量的值,對於post方式,服務器端用Request.Form獲取提交的數據。
如果出現將中午提交到tomcat服務器,服務器默認會用iso8859-1進行解碼會出現亂碼
通過iso8859-1進行編碼,在用指定的中文碼錶解碼。即可。
這種方式對get提交和post提交都有效。
但是 對於post提交方式提交的中文,還有另一種解決方式,就是直接使用服務端一個對象
request對象的setCharacterEncoding方法直接設置指定的中文碼錶就可以將中文數據解析出來。
這個方法只對請求體重的數據進行解碼。
綜上所述:
1、get方式的安全性較Post方式要差些,包含機密信息的話,建議用Post數據提交方式;
2、在做數據查詢時,建議用Get方式;而在做數據添加、修改或刪除時,建議用Post方式;
和服務器交換的三種方式
1. 地址欄輸入url地址 get
2. 超鏈接 get
3 表單 get和post