HTTP协议图--HTTP 协议报文结构
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 等)
响应报文的示例,如下: