1.
安全程度不同。
post
更安全,不會作為
url的一部分,不會被快取、儲存在伺服器日誌、以及瀏覽器瀏覽記錄中。 注:
協議用法約定
get使用
url或
cookie
傳參,而
post
將資料放在
data中。
2.資料容量不同。
post
傳送的資料更大,
get有
url長度限制。 注:
協議並未規定
get和
post
的長度限制,但瀏覽器和
web伺服器會對
url的長度有所限制,例如
ie,則最大長度為
2083byte
;chrome
,則最大長度
8182byte,apache
限制為8192 byte,iis 16384byte。
3.支援的資料型別不同。
post
能傳送更多的資料型別,
get只能傳送
ascii
字元。
4.速度不同。
post
比get慢。
5.應用場景不同。
post
用於修改和寫入資料,
get一般用於搜尋排序和篩選之類的操作(**,支付寶的搜尋查詢都是
get提交),目的是資源的獲取,讀取資料 6.
是否冪等性。
get請求是冪等性的,
post
請求不是,所以
post
不能進行管道化傳輸。(冪等性是指一次和多次請求某乙個資源應該具有同樣的***。簡單來說意味著對同一
url的多個請求應該返回同樣的結果。) 附:
為什麼get比
post更快
1.post
請求包含更多的請求頭 因為
post
需要在請求的
body
部分包含資料,所以會多了幾個資料描述部分的首部字段(如:
content-type),
這其實是微乎其微的。
2.post
在真正接收資料之前會先將請求頭髮送給伺服器進行確認,然後才真正傳送資料
post
請求的過程: (
1)瀏覽器請求
tcp連線(第一次握手) (
2)伺服器答應進行
tcp連線(第二次握手) (
3)瀏覽器確認,並傳送
post
請求頭(第三次握手,這個報文比較小,所以
會在此時進行第一次資料傳送) (
4)伺服器返回
100 continue響應
(5)瀏覽器傳送資料 (
6)伺服器返回
200 ok響應
get請求的過程: (
1)瀏覽器請求
tcp連線(第一次握手) (
2)伺服器答應進行
tcp連線(第二次握手) (
3)瀏覽器確認,並傳送
get請求頭和資料(第三次握手,這個報文比較小,所以
會在此時進行第一次資料傳送) (
4)伺服器返回
200 ok
響應
請求和響應
1 response物件的字元輸入流在編碼時候,採用的是iso 8859 1的編碼表 在httpservletresponse介面中,有setcharacterencoding utf 8 方法來設定字元編碼 2 瀏覽器的解碼方式是gb2312,而我們使用的編碼是 utf 8 因此亂碼。sethea...
請求和響應
如果你正在做基於rest的web服務,你最好忽略request.post和request.get rest framework的request類擴充套件了標準的httprequest,新增對rest framework的靈活請求解析和請求身份驗證的支援。rest framework的請求物件提供靈活...
請求和響應
post方式請求 request.setcharacterencoding utf 8 response.setcontenttype text html charset utf 8 get方式請求 get方式請求的正文是在位址列中,在tomcat8.5版本以後,tomacat伺服器已經幫我們解決了...