用于 HTTP 協議交互的信息被稱為 HTTP 報文。請求段(客戶端)的 HTTP 報文叫做請求報文,響應段(服務器端)的叫做響應報文。HTTP 報文本身是由多行(用 CR+LF 作換行符)數據構成的字符串文本。
HTTP報文格式
HTTP 報文大致可分為報文首部和報文主體兩塊,兩者由最初出現的空行(CR+LF)來劃分。通常,報文主體并不是必須的(比如常見的 GET 請求就沒有報文主體)。
HTTP報文格式:
報文首部, 服務器端或客戶端需處理的請求或響應的內容及屬性;
CR+LF, 用于劃分報文首部和主體,CR(Carriage Return, 回車符:16 進制表示為 0x0d)和 LF(Line Feed, 換行符:16 進制表示為 0x0a);
報文主體,需要被發送的數據。
報文結構
請求報文
請求報文格式:
請求行,包含用于請求的方法(如 GET, POST),請求 URI 和 HTTP 版本;
首部字段,包含表示請求各種條件和屬性的各類首部;
其他,可能包含 HTTP 的 RFC 標準中未定義的首部(Cookie 等)。
請求報文結構
請求報文范例:
比如我提供加法計算的接口,你要給我傳遞2個數(a和b),我給你返回一個計算結果。
請求報文
響應報文
響應報文格式:
狀態行,包含表明響應結果的狀態碼,原因短語和 HTTP 版本;
首部字段,包含表示響應各種條件和屬性的各類首部;
其他,可能包含 HTTP 的 RFC 標準中未定義的首部(set-Cookies 等)。
響應報文結構
響應報文可能是:
請求報文