原作者: 留七七, 地址:http://www.jianshu.com/p/6e86903d74f7
一、常用标准请求头字段
Accept 设置接受的内容类型
Accept-Charset 设置接受的字符编码
Accept-Encoding 设置接受的编码格式
Accept-Datetime 设置接受的版本时间
Accept-Language 设置接受的语言
Authorization 设置HTTP身份验证的凭证
Cache-Control 设置请求响应链上所有的缓存机制必须遵守的指令
Connection 设置当前连接和hop-by-hop协议请求字段列表的控制选项
Content-Length 设置请求体的字节长度
Content-MD5 设置基于MD5算法对请求体内容进行Base64二进制编码
Content-Type 设置请求体的MIME类型(适用POST和PUT请求)
Cookie 设置服务器使用Set-Cookie发送的http cookie
Date 设置消息发送的日期和时间
Expect 标识客户端需要的特殊浏览器行为
Forwarded 披露客户端通过http代理连接web服务的源信息
From 设置发送请求的用户的email地址
Host 设置服务器域名和TCP端口号,如果使用的是服务请求标准端口号,端口号可以省略
If-Match 设置客户端的ETag,当时客户端ETag和服务器生成的ETag一致才执行,适用于更新自从上次更新之后没有改变的资源
If-Modified-Since 设置更新时间,从更新时间到服务端接受请求这段时间内如果资源没有改变,允许服务端返回304 Not Modified
If-None-Match 设置客户端ETag,如果和服务端接受请求生成的ETage相同,允许服务端返回304 Not Modified
If-Range 设置客户端ETag,如果和服务端接受请求生成的ETage相同,返回缺失的实体部分;否则返回整个新的实体
If-Unmodified-Since 设置更新时间,只有从更新时间到服务端接受请求这段时间内实体没有改变,服务端才会发送响应
Max-Forwards 限制代理或网关转发消息的次数
Origin 标识跨域资源请求(请求服务端设置Access-Control-Allow-Origin响应字段)
Pragma 设置特殊实现字段,可能会对请求响应链有多种影响
Proxy-Authorization 为连接代理授权认证信息
Range 请求部分实体,设置请求实体的字节数范围,具体可以参见HTTP/1.1中的Byte serving
Referer 设置前一个页面的地址,并且前一个页面中的连接指向当前请求,意思就是如果当前请求是在A页面中发送的,那么referer就是A
页面的url地址(轶事:这个单词正确的拼法应该是"referrer",但是在很多规范中都拼成了"referer",所以这个单词也就成为标准用法)
TE 设置用户代理期望接受的传输编码格式,和响应头中的Transfer-Encoding字段一样
Upgrade 请求服务端升级协议
User-Agent 用户代理的字符串值
Via 通知服务器代理请求
Warning 实体可能会发生的问题的通用警告
二、常用非标准请求头字段
X-Requested-With 标识Ajax请求,大部分js框架发送请求时都会设置它为XMLHttpRequest
DNT 请求web应用禁用用户追踪
X-Forwarded-For 一个事实标准,用来标识客户端通过HTTP代理或者负载均衡器连接的web服务器的原始IP地址
X-Forwarded-Host 一个事实标准,用来标识客户端在HTTP请求头中请求的原始host,因为主机名或者反向代理的端口可能与处理请求的原始服务器不同
X-Forwarded-Proto 一个事实标准,用来标识HTTP原始协议,因为反向代理或者负载均衡器和web服务器可能使用http,但是请求到反向代理使用的是https
Front-End-Https 微软应用程序和负载均衡器使用的非标准header字段 Front-End-Https: on
X-Http-Method-Override 请求web应用时,使用header字段中给定的方法(通常是put或者delete)覆盖请求中指定的方法(通常是post),如果用户代理或者防火
墙不支持直接使用put或者delete方法发送请求时,可以使用这个字段
X-ATT-DeviceId 允许更简单的解析用户代理在AT&T设备上的MakeModel/Firmware
X-Wap-Profile 设置描述当前连接设备的详细信息的xml文件在网络中的位置
Proxy-Connection 早起HTTP版本中的一个误称,现在使用标准的connection字段
X-UIDH 服务端深度包检测插入的一个唯一ID标识Verizon Wireless的客户
X-Csrf-Token,X-CSRFToken,X-XSRF-TOKEN 防止跨站请求伪造
X-Request-ID,X-Correlation-ID 标识客户端和服务端的HTTP请求
三、常用标准响应头
Access-Control-Allow-Origin 指定哪些站点可以参与跨站资源共享
Accept-Patch 指定服务器支持的补丁文档格式,适用于http的patch方法
Accept-Ranges 服务器通过byte serving支持的部分内容范围类型
Age 对象在代理缓存中暂存的秒数
Allow 设置特定资源的有效行为,适用方法不被允许的http 405错误
Alt-Svc 服务器使用"Alt-Svc"(Alternative Servicesde的缩写)头标识资源可以通过不同的网络位置或者不同的网络协议获取
Cache-Control 告诉服务端到客户端所有的缓存机制是否可以缓存这个对象,单位是秒
Connection 设置当前连接和hop-by-hop协议请求字段列表的控制选项
Content-Disposition 告诉客户端弹出一个文件下载框,并且可以指定下载文件名
Content-Encoding 设置数据使用的编码类型
Content-Language 为封闭内容设置自然语言或者目标用户语言
Content-Length 响应体的字节长度
Content-Location 设置返回数据的另一个位置
Content-MD5 设置基于MD5算法对响应体内容进行Base64二进制编码
Content-Range 标识响应体内容属于完整消息体中的那一部分
Content-Type 设置响应体的MIME类型
Date 设置消息发送的日期和时间
ETag 特定版本资源的标识符,通常是消息摘要
Expires 设置响应体的过期时间
Last-Modified 设置请求对象最后一次的修改日期
Link 设置与其他资源的类型关系
Location 在重定向中或者创建新资源时使用
P3P 以P3P:CP="your_compact_policy"的格式设置支持P3P(Platform for Privacy Preferences Project)策略,
大部分浏览器没有完全支持P3P策略,许多站点设置假的策略内容欺骗支持P3P策略的浏览器以获取第三方cookie的授权
Pragma 设置特殊实现字段,可能会对请求响应链有多种影响
Proxy-Authenticate 设置访问代理的请求权限
Public-Key-Pins 设置站点的授权TLS证书
Refresh "重定向或者新资源创建时使用,在页面的头部有个扩展可以实现相似的功能,并且大部分浏览器都支持
Retry-After 如果实体暂时不可用,可以设置这个值让客户端重试,可以使用时间段(单位是秒)或者HTTP时间
Server 服务器名称
Set-Cookie 设置HTTP Cookie
Status 设置HTTP响应状态
Strict-Transport-Security 一种HSTS策略通知HTTP客户端缓存HTTPS策略多长时间以及是否应用到子域
Trailer 标识给定的header字段将展示在后续的chunked编码的消息中
Transfer-Encoding 设置传输实体的编码格式,目前支持的格式: chunked, compress, deflate, gzip, identity
TSV Tracking Status Value, 在响应中设置给DNT(do-not-track),可能的取值
"!" — under construction
"?" — dynamic
"G" — gateway to multiple parties
"N" — not tracking
"T" — tracking
"C" — tracking with consent
"P" — tracking only if consented
"D" — disregarding DNT
"U" — updated
Upgrade 请求客户端升级协议
Vary 通知下级代理如何匹配未来的请求头已让其决定缓存的响应是否可用而不是重新从源主机请求新的
Via 通知客户端代理,通过其要发送什么响应
Warning 实体可能会发生的问题的通用警告
WWW-Authenticate 标识访问请求实体的身份验证方案
X-Frame-Options 点击劫持保护:
deny frame 中不渲染
sameorigin 如果源不匹配不渲染
allow-from 允许指定位置访问
allowall 不标准,允许任意位置访问
四、常用的非标准响应头
X-XSS-Protection 过滤跨站脚本
Content-Security-Policy, X-Content-Security-Policy,X-WebKit-CSP 定义内容安全策略
X-Content-Type-Options 唯一的取值是"",阻止IE在响应中嗅探定义的内容格式以外的其他MIME格式
X-Powered-By 指定支持web应用的技术
X-UA-Compatible 推荐首选的渲染引擎来展示内容,通常向后兼容,也用于激活IE中内嵌chrome框架插件
X-Content-Duration 提供音视频的持续时间,单位是秒,只有Gecko内核浏览器支持
Upgrade-Insecure-Requests 标识服务器是否可以处理HTTPS协议
X-Request-ID,X-Correlation-ID 标识一个客户端和服务端的请求