详解HTTP Headers消息头

发布于 2020-12-15  256 次阅读 本文共2174个字


Http是一种不保存状态的协议,通过客户端(请求方 Request) 向 服务端(响应方 Response)发送消息,达成通信。Http Header则是在通信过程中以明文的字符串格式传递信息,是以冒号分割的键值对。

打开Network的某个请求,我们可以看到这几类:

  • General headers: 同时适用于请求和响应消息,但与最终消息主体中传输的数据无关的消息头。
  • Request headers: 包含更多有关要获取的资源或客户端本身信息的消息头。
  • Response headers: 包含有关响应的补充信息,如其位置或服务器本身(名称和版本等)的消息头。
  • Entity headers: 包含有关实体主体的更多信息,比如主体长(Content-Length)度或其MIME类型。

每一个消息头里边又有具体的包含项:

General headers:通用消息头字段

字段名说明
Cache-Control控制缓存行为
Connection链接的管理, 决定当前的事务完成后,是否会关闭网络连接。
Date创建报文的日期
Pragma报文指令
Trailer报文尾部的首部
Transfer-Encoding指定报文主体的传输编码方式
Via代理服务器信息
Warning错误通知
Keep-Alive用来设置超时时长和最大请求数

Request headers:请求头部字段

字段名说明
Accept客户端可以处理的内容类型
Accept-Charset客户端可以处理的字符集类型
Accept-Encoding客户端能够理解的内容编码方式
Accept-Language客户端可以理解的自然语言
Accept-Patch通知浏览器请求的媒体类型(media-type)可以被服务器理解。
Accept-Ranges标识自身支持范围请求(partial requests)
AuthorizationWeb用户身份认证信息
Expect期待服务器的特定行为
From用户的电子邮箱地址
Host请求资源所在的服务器
If-Match比较实体标记
If-Modified-Since比较资源的更新时间
If-None-Match比较实体标记(与If-Match相反)
If-Range资源未更新时发送实体Byte的范围请求
If-Unmodified-Since比较资源的更新时间(和If-Modified-Since相反)
Proxy-Authorization代理服务器需要客户端认证
Range实体字节范围请求
Referer请求中的URI的原始获取方
TE用户代理希望使用的传输编码类型
User-Agent浏览器信息
Upgrade-Insecure-Requests客户端优先选择加密及带有身份验证的响应
Cookie服务器通 Set-Cookie 过  首部投放并存储到客户端的HTTP cookies
Origin请求来自于哪个站点
Proxy-Authorization用户代理提供给代理服务器的用于身份验证的凭证
DNT用户对于网站追踪的偏好

Response headers:响应头部字段

首部字段名说明
Accept-Ranges是否接受字节范围请求
Age消息头里包含对象在缓存代理中存贮的时长,以秒为单位。
ETag资源的匹配信息
Location客户端重定向至指定的URI
Proxy-Authenticate代理服务器对客户端的认证信息
Retry-After用户代理需要等待多长时间之后才能继续发送请求
Server服务器的信息
Vary代理服务器缓存的管理信息
www-Authenticate使用何种验证方式去获取对资源的连接
Clear-Site-Data清除当前请求网站有关的浏览器数据(cookie,存储,缓存)
Content-Security-Policy允许站点管理者控制用户代理能够为指定的页面加载哪些资源
Content-Security-Policy-Report-Only允许web开发人员通过监测(但不强制执行)政策的影响来尝试政策
Public-Key-Pins包含该Web 服务器用来进行加密的 public key (公钥)信息
Public-Key-Pins-Report-Only设置在公钥固定不匹配时,发送错误信息到report-uri
Referrer-Policy监管哪些访问来源信息
Set-Cookie由服务器端向客户端发送 cookie
Timing-Allow-Origin以允许其访问Resource Timing API提供的相关信息
Tk显示了对相应请求的跟踪情况
X-XSS-Protection当检测到跨站脚本攻击 (XSS)时,浏览器将停止加载页面

Entity headers:实体头部字段

首部字段名说明
Allow用于枚举资源所支持的 HTTP 方法的集合
Content-Encoding对特定媒体类型的数据进行压缩
Content-Language说明访问者希望采用的语言或语言组合
Content-Length指明发送给接收方的消息主体的大小(字节为单位)
Content-Location替代对应资源的URI
Content-Range实体的位置范围
Content-Type告诉客户端实际返回的内容的内容类型
Expires实体过期时间,包含日期/时间, 即在此时候之后,响应过期
Last-Modified资源的最后修改时间

努力,只为遇见更好的自己!