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) |
Authorization | Web用户身份认证信息 |
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 | 资源的最后修改时间 |
Comments | NOTHING