HTTP請求報文

2022-07-16 00:09:13 字數 1160 閱讀 2946

tcp三次握手後,客戶端會向伺服器發出乙個請求報文。

乙個http請求報文由四部分組成:請求行、請求頭、空行和請求資料。

1.請求行由請求方法字段、url欄位和http協議版本字段組成

2.請求頭

3.空行

它的作用是通過乙個空行,告訴伺服器請求頭部到此為此。

4.請求資料

如果方法欄位是get,則此項為空,沒有資料

如果方法欄位是post,則通常來說此處放置的就是要提交的資料。

例如post提交表單:user=admin&password=123.

上圖是post請求報文,如果是get請求的話,報文體為空。

post方法是get方法的乙個替代方法,它主要是向web伺服器提交表單資料,尤其是大批量的資料。post方法克服了get方法的一些缺點,通過post方法提交表單資料時,資料不是作為url的一部分而是作為標準資料傳送網路伺服器,這就克服了get方法中的資訊無法保密的缺點。

1.引數傳遞方式不同。

get請求時,引數會拼接到url的後面,引數之間以&相連,請求引數會暴露在瀏覽器中

post請求時,引數會放到http請求體中,對於使用者是不可見的。(也並非絕對不可見,chrome的開發者模式或者抓包都可以看到post的請求資料)

2.url長度不同。

瀏覽器規定get請求url長度不能大於2000個字元

post請求url長度不能大於4m

(不同的瀏覽器和伺服器限制長度不一樣)

3.資料報不同

get請求時產生乙個tcp資料報,請求的header和data一起傳送出去,服務端返回具體的響應碼

post請求時,產生兩個tcp資料報。先傳送header資訊,服務端響應100然後continue,瀏覽器再傳送data資訊,服務端響應具體的狀態碼。(火狐瀏覽器post請求只發一次請求包)

此外,從應用層次出發

點選重新整理或返回按鈕時,get方法無影響,post會重新請求資料

get可以新增書籤,post不可以

get有快取,post沒有

get有歷史記錄,post沒有

get只允許ascii字元型別,post沒有限制

HTTP請求報文

http請求報文解剖 http請求報文由3部分組成 請求行 請求頭 請求體 是請求方法,get和post是最常見的http方法,除此以外還包括delete head options put trace。不過,當前的大多數瀏覽器只支援get和post,spring 3.0提供了乙個hiddenhttp...

HTTP請求報文

在 http 連線中報文分為請求 request 和響應 response 兩種。每種報文在 http 首部都有不同的字段來標識不同的用途。get protocols rfc2616 rfc2616 sec5.html http 1.1 請求行 host www.w3.org connection ...

HTTP請求報文

http協議是hyper text transfer protocol 超文字傳輸協議 的縮寫,是用於從全球資訊網 www world wide web 伺服器傳輸超文字到本地瀏覽器的傳送協議。http是乙個基於tcp ip通訊協議來傳遞資料 html 檔案,檔案,查詢結果等 http報文可以分為兩...