python get請求和post請求的不同

2021-10-18 16:35:04 字數 1692 閱讀 5424

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伺服器已經幫我們解決了...