HTTP首部字段
上次更新时间:12/15/2020, 11:22:22 AM
首部字段可以分为以下几种类型:
通用首部
通用首部 | 描述 |
Connection | 与客户端和服务器指定与请求/响应连接有关的选项 |
Date | 创建时间 |
MIME-Version | MIME版本 |
Trailer | 如果报文采用了分块传输编码(chunked transfer encoding)方式,可以使用这个首部列出位于报文拖挂(trailer)部分的首部集合 |
Transfer-Encoding | 告知接收端为了保证报文的可靠传输,对报文采用了什么编码方式 |
Update | 发送端可能想要升级使用的版本或协议 |
Via | 显示报文经过的中间节点(代理/网关) |
Cache-Control | 用于随报文传送缓存指示 |
Pragma | 另一种随报文传送指示的方式,但不专用于缓存 |
请求首部
请求首部分类:
- 信息性首部
- Accept 首部
- 条件请求首部
- 安全请求首部
- 代理请求首部
信息性首部
首部 | 描述 |
Client-IP | 客户端机器ip地址 |
From | 客户端用户的E-mail地址 |
Host | 接受请求的服务器的主机名和端口号 |
Referer | 包含当前请求URL的文档的URL |
UA-Color | 与客户端线实体的显示颜色有关的信息 |
UA-CPU | 客户端CPU的类型或制造商 |
UA-Os | 运行在客户端机器上的操作系统名称及版本 |
UA-Pixels | 客户端显示器像素信息 |
User-Agent | 将发起请求的应用程序名称告知服务器 |
Accept 首部
首部 | 描述 |
Accept | 告诉服务器能发送那些媒体类型 |
Accept-Charset | 告诉服务器能够发送哪些字符集 |
Accept-Encoding | 告诉服务器能够发送哪些编码方式 |
Accept-Language | 告诉服务器能够发送哪些语言 |
Accept-Ranges | 标识自身支持范围请求 |
Access-Control-Allow-Credentials | 表示是否可以将对请求的响应暴露给页面 |
Access-Control-Allow-Headers | 可支持的请求首部名字 |
Access-Control-Allow-Methods | 客户端所要访问的资源允许使用的方法或方法列表 |
Access-Control-Allow-Origin | 指定了该响应的资源是否被允许与给定的origin共享 |
Access-Control-Expose-Headers | 列出了哪些首部可以作为响应的一部分暴露给外部 |
Access-Control-Max-Age | 返回结果可以被缓存的最长时间(秒) |
Access-Control-Request-Headers | 通知服务器在真正的请求中会采用哪些请求头 |
Access-Control-Request-Method | 通知服务器在真正的请求中会采用哪种 HTTP 方法 |
TE | 告诉服务器可以使用那些拓展传输编码 |
条件请求首部
首部 | 描述 |
Expect | 允许客户端列出某请求所要求的服务器行为 |
If-Match | 如果实体标记与文档当前的实体标记想匹配,就获取这份文档 |
If-None-Match | 如果提供的实体标记与当当前的实体标记不相符,就获取文档 |
If-Modified-Since | 除非在某个指定的日期过后资源被修改过,否则就限制这个请求 |
If-Range | 允许对文档的某个范围进行条件请求 |
If-Unmodified-Since | 除非在某个指定日期之后资源没有被修改过,否则就限制这个请求 |
Range | 如果服务器支持范围请求,就请求资源的指定范围 |
安全请求首部
首部 | 描述 |
Authorization | 包含了客户端提供给服务器,以便对自身进行认证的数据 |
Cookie | 客户端用它向服务器传送一个令牌——它不是真正的安全首部,但确实隐含了安全功能 |
代理请求首部
首部 | 描述 |
Max-Forward | 将请求转发给其他代理或网关的最大次数,与TRACE方法一同使用 |
Proxy-Authorization | 与 Authorization 首部相同,但这个是在与代理进行认证时使用 |
Proxy-Connection | 与 Connection 首部相同,但这个是在与代理建立连接时使用 |
响应首部
响应首部分类:
信息性首部
首部 | 描述 |
Age | 响应持续时间 |
Public | 服务器为其资源支持的请求方法列表 |
Retry-After | 如果资源不可用的话,在此日期或时间重试 |
Server | 服务器应用程序软件的名称和版本 |
Title | 对HTML文档来说,就是HTML文档的源端给出的标题 |
Warning | 比原因短语中更详细的警告报文 |
协商首部
首部 | 描述 |
Accept-Range | 对此资源来说,服务器可接受的范围类型 |
Vary | 服务器查看的其他首部的列表,可能会使响应发生变化 |
例如,使用Vary: User-Agent头,缓存服务器需要通过UA判断是否使用缓存的页面。如果需要区分移动端和桌面端的展示内容,利用这种方式就能避免在不同的终端展示错误的布局。
安全响应首部
首部 | 描述 |
Proxy-Authenticate | 来自代理对客户端的质询列表 |
Set-Cookie | 可以在客户端设置一个令牌,以便服务器对客户端进行标识 |
WWW-Authenticate | 来自服务器对客户端的质询列表 |
实体首部
实体首部分类:
信息性首部
首部 | 描述 |
Allow | 列出了可以对此实体执行的请求方法 |
Location | 告知客户端实体实际上位于何处,用于将接收端定向到资源的位置上去 |
内容首部
首部 | 描述 |
Content-Base | 解析主体中的相对URL时使用的基础URL |
Content-Encoding | 对主题执行的编码方式 |
Content-Language | 理解主体时最适宜使用的自然语言 |
Content-Length | 主体的长度或尺寸 |
Content-Location | 资源实际所处的位置 |
Content-MD5 | 主体的MD5校验 |
Content-Range | 主体的字节范围 |
Content-Type | 主体的对象类型 |
实体缓存首部
首部 | 描述 |
ETag | 与实体相关的实体标记 |
Expires | 缓存过期时间 |
Last-Modified | 最后一次被修改的时间 |