1.HTTP 報文
用於 HTTP 協議交互的信息被稱爲 HTTP 報文。請求端(客戶端)的 HTTP 報文叫做請求報文;響應端(服務器端)的叫做響應報文。HTTP 報文本身是由多行(用 CR[carriage return]+LF[line feed] 作換行符)數據構成的字符串文本。
2.HTTP 報文結構
HTTP 報文大致可分爲報文首部和報文主體兩部分。兩者由最初出現的空行(CR+LF)來劃分。通常,並不一定有報文主體。如下:
圖1:HTTP 報文結構
2.1請求報文結構
圖2:請求報文結構
請求報文的首部內容由以下數據組成:
- 請求行 —— 包含用於請求的方法、請求 URI 和 HTTP 版本。
- 首部字段 —— 包含表示請求的各種條件和屬性的各類首部。(通用首部、請求首部、實體首部以及RFC裏未定義的首部如 Cookie 等)
請求報文的示例,如下:
圖3:請求報文示例
2.2響應報文結構
圖4:響應報文結構
響應報文的首部內容由以下數據組成:
- 狀態行 —— 包含表明響應結果的狀態碼、原因短語和 HTTP 版本。
- 首部字段 —— 包含表示請求的各種條件和屬性的各類首部。(通用首部、響應首部、實體首部以及RFC裏未定義的首部如 Cookie 等)
響應報文的示例,如下: