请求报文结构如下表,如下:
报文首部 | 空行(CR+LF) | 报文主体 |
---|
请求行(包含方法、URI、HTTP版本) | | |
请求首部字段(补充请求的附加内、客户端信息、响应内容相关优先级等) | | |
通用首部字段(请求、响应报文都会使用的首部) | | |
实体首部字段(补充资源内容,更新时间和实体相关的信息) | | |
其他 | | |
响应报文结构如下表,如下:
报文首部 | 空行(CR+LF) | 报文主体 |
---|
状态行(包含HTTP版本、状态码) | | |
响应首部字段(补充响应的附加内容,也会要求客户端添加额外的内容信息) | | |
通用首部字段(请求、响应报文都会使用的首部) | | |
实体首部字段(补充资源内容,更新时间和实体相关的信息) | | |
其他 | | |
通用首部字段列表
通用首部字段名 | 说明 |
---|
Cache-Control | 控制缓存的行为 |
Connection | 控制不在转发给代理的首部字段、管理持久链接 |
Date | 创建报文的日期和时间 |
Pragma | 仅作为HTTP/1.0的向后兼容被定义 |
Trailer | 报文主体后加的首部字段 ,可用在分块编码时 |
Transfer-Encoding | 指定报文主体的传输编码格式 |
Upgrade | 检测协议是否可使用更高版本,(在使用该字段时要额外添加 Connection:Upgrade字段) |
Via | 追踪客户端和服务器之前请求和响应的传输路径,(所有代理服务器的信息) |
Warning | 各种错误警告 |
请求首部字段列表
请求首部字段名 | 说明 |
---|
Accept | 通知服务器用户代理可处理的媒体类型以及优先级 |
Accept-Charset | 通知服务器用户代理支持的字符集以及字符集的优先顺序 |
Accept-Encoding | 告知服务器用户代理支持的内容编码以及内容编码的优先顺序 |
Accept-Language | 告知服务器用户代理能够处理的自然语言以及自然语言的优先级 |
Authorization | 用来告知服务器用户代理的认证信息 |
Expet | 期待服务器出现某种待定行为 |
From | 告知服务器用户代理的电子邮箱地址 |
Host | 请求资源所处计算机的主机名和端口号 |
If-Match | 告知服务器匹配资源所用的实体标记值 |
If-Modified-Since | 告知服务器字段值时间之后有更新资源,则获取 |
If-None-Match | 和If-Match相反 |
If-Range | 资源未更新时发送实体Bety的范围请求 |
If-Unmodified-Since | 告知服务器字段之间之后未更新资源,则获取 |
Max-Forwards | 以十进制的形式指定可经过的服务器的最大数目 |
Proxy-Authorization | 代理服务器要求客户端的认证信息 |
Pange | 只需要获取部分资源的请求告知服务器的资源指定范围 |
Referer | 告知服务器请求的原始资源的URI |
TE | 告知服务器客户端能处理的编码格式以及相对优先级 |
User-Agent | Http客户端的信息,如果请求经过代理也可能会添加代理服务器的信息 |
注:形如If-xxx这样的请求字段称为条件请求,服务器一般接收到附带条件请求的URL,只有判断条件成立后才会执行请求
响应字段首部
响应首部字段名 | 说明 |
---|
Accept-Range | 用来告知客户端服务器是否能处理范围请求,可以指定为betys,反之指定为none |
Age | 返回资源创建到这次请求所经过的时间,单位为s |
ETage | 服务器将资源以字符串的形式作唯一标识ETage |
Location | 告知服务器用户代理能够处理的自然语言以及自然语言的优先级 |
Authorization | 用来告知服务器用户代理的认证信息(属客户端与代理之间的通信) |
Retry-After | 告知客户端多久之后再次访问 |
Server | 告知客户端当前服务器安装的HTTP服务器应用程序的信息 |
Vary | 代理服务器需要缓存的管理信息 |
WWW-Authenticate | 服务器对对客户端的认证信息 |
实体首部字段
实体首部字段名 | 说明 |
---|
Allow | 通知客户端能支持的HTTP的所有方法 |
Content-Encoding | 通知客户端服务器对实体的主体的编码方式 |
Content-Language | 通知客户端实体主体的自然语言 |
Content-Length | 实体主体的大小 |
Content-Location | 表示报文返回资源的原始URI |
Content-MD5 | 客户端对接收到的报文主体执行相同的MD5算法,然后与字段中的值进行比较。(目的检测传输过程实体主体是否保持完整) |
Content-Range | 实体主体返回的是资源的那部分位置范围 |
Content-Type | 实体主体的媒体类型 |
Expires | 告知客户端资源的有效截止日期 |
Last-Modified | 告知客户端资源的最后修改日期 |