乙個http請求報文由請求行(request line)、請求頭部(header)、空行和請求資料4個部分組成,下圖給出了請求報文的一般格式。
請求報文
請求報文例項
1. 請求行
請求行由方法字段、url 字段 和http 協議版本字段 3 個部分組成,他們之間使用空格隔開。常用的 http 請求方法有 head、get、post、put、patch、delete、options、trace、connect等。最常用的是get、post。
http/1.0支援:get、post、head三種http請求方法。
http/1.1是當前正在使用的版本。該版本預設採用持久連線,並能很好地配合**伺服器工作。還支援以管道方式同時傳送多個請求,以便降低線路負載,提高傳輸速度。
http/1.1新增了:options、put、delete、trace、connect五種http請求方法。
另外用於特定請求的url方法還有:
請求頭部由關鍵字/值對組成,每行一對,關鍵字和值用英文冒號「:」分隔。請求頭部通知伺服器有關於客戶端請求的資訊,常見的請求頭有:
3. 空行
最後乙個請求頭之後是乙個空行,傳送回車符和換行符,通知伺服器以下不再有請求頭。
4. 請求體(請求正文)
請求體不在 get 方法中使用,而是在post 方法中使用。post 方法適用於需要客戶填寫表單的場合。與請求體相關的最常使用的是請求體型別 content-type 和請求體長度 content-length;
http響應也由四個部分組成,分別是:狀態行、訊息報頭(響應頭)、空行和響應正文。如下圖:
響應報文
響應報文例項
1. 狀態行
狀態行格式:http-version status-code reason-phrase crlf
其中,http-version表示伺服器http協議的版本;status-code表示伺服器發回的響應狀態**;reason-phrase表示狀態**的文字描述。狀態**由三位數字組成,第乙個數字定義了響應的類別,且有五種可能取值。
常見狀態**、狀態描述的說明如下。
響應頭用於描述伺服器的基本資訊,以及資料的描述,伺服器通過這些資料的描述資訊,可以通知客戶端如何處理等一會兒它回送的資料。常見的響應頭欄位及其含義:
allow:伺服器支援哪些請求方法(如get、post等)。
content-encoding:文件的編碼(encode)方法。
content-length:表示內容長度。
content- type:表示後面的文件屬於什麼mime型別。
date:當前的gmt時間
等等...
3. 空行
同請求報文中的空行
4. 響應體
1). 前後端分離: 響應正文是乙個json
2). 後端渲染: 響應正文是乙個html文件
HTTP協議報文格式
接下來我們看看http協議 hypertext transfer protocol 超文字傳輸協議 瀏覽器端 客戶端 向web伺服器端訪問頁面的過程和http協議報文的格式。基於http協議的客戶機訪問包括4個過程,分別是建立tcp套接字連線 傳送http請求報文 接收http應答報文和關閉tcp套...
HTTP協議報文格式
http協議 hypertext transfer protocol 超文字傳輸協議 瀏覽器端 客戶端 向web伺服器端訪問頁面的過程和http協議報文的格式。基於http協議的客戶機訪問包括4個過程,分別是建立tcp套接字連線 傳送http請求報文 接收http應答報文和關閉tcp套接字連線 1....
HTTP協議報文格式
http是基於客戶端 服務端 c s 的架構模型,http使用統一資源識別符號 uniform resource identifiers,uri 來傳輸資料和建立連線。一旦建立連線後,資料訊息就通過類似internet郵件所使用的格式 rfc5322 和多用途internet郵件擴充套件 mime ...