每个HTTP响应都可以有一组头信息。
这篇文章旨在列出所有这些头信息,并对它们进行描述。
- 标准标头
Accept-PatchAccept-RangesAgeAllowAlt-SvcCache-ControlConnectionContent-DispositionContent-EncodingContent-LanguageContent-LengthContent-LocationContent-RangeContent-TypeDateDelta-BaseETagExpiresIMLast-ModifiedLinkLocationPragmaProxy-AuthenticatePublic-Key-PinsRetry-AfterServerSet-CookieStrict-Transport-SecurityTrailerTransfer-EncodingTkUpgradeVaryViaWarningWWW-Authenticate
- CORS头信息
- 非标准的头信息。
标准头信息
Accept-Patch
Accept-Patch: text/example;charset=utf-8
指定这个服务器支持哪些补丁文件格式
Accept-Ranges
Accept-Ranges: bytes
这个服务器通过字节服务支持哪些部分内容范围类型
Age
Age: 12
该对象在代理缓存中的年龄,以秒为单位
Allow
Allow: GET, HEAD
指定资源的有效方法。要用于一个405的方法不允许
Alt-Svc
Alt-Svc: http/1.1= "http2.example.com:8001"; ma=7200
服务器使用 "Alt-Svc "头(意为替代服务)来表示其资源也可以在不同的网络位置(主机或端口)或使用不同的协议来访问。当使用HTTP/2时,服务器应该转而发送一个ALTSVC帧
Cache-Control
Cache-Control: max-age=3600 Cache-Control: no-cache, no-store, max-age=0, must-revalidate
如果使用no-cache ,Cache-Control 标头可以告诉浏览器,在不检查ETag值的情况下,永远不要使用一个资源的缓存版本。
max-age 是以秒计算的
限制性更强的no-store 选项告诉浏览器(以及所有的中间网络设备),甚至不在其缓存中存储该资源。
Connection
Connection: close
当前连接的控制选项和逐跳响应字段的列表。在HTTP/2中已被弃用
Content-Disposition
Content-Disposition: attachment; filename="file.txt"
对于已知的MIME类型的二进制格式,有机会引发 "文件下载 "对话框,或者为动态内容建议一个文件名。有特殊字符时需要引号
Content-Encoding
Content-Encoding: gzip
数据上使用的编码类型。见HTTP压缩
Content-Language
Content-Language: en
所附内容的目标受众的自然语言或语言
Content-Length
Content-Length: 348
响应体的长度,以8位字节表示。
Content-Location
Content-Location: /index.htm
返回数据的另一个位置
Content-Range
Content-Range: bytes 21010-47021/47022
这个部分信息在整个信息体中的位置
Content-Type
Content-Type: text/html; charset=utf-8
该内容的MIME类型
Date
Date: Tue, 15 Nov 1994 08:12:31 GMT
消息发送的日期和时间(以RFC 7231定义的 "HTTP-date "格式)。
Delta-Base
Delta-Base: "abc"
指定响应的delta-encoding实体标签
ETag
ETag: "737060cd8c284d8a[...]"
一个资源的特定版本的标识符,通常是一个消息摘要
Expires
Expires: Sat, 01 Dec 2018 16:00:00 GMT
给出日期/时间,在此日期/时间之后,响应被认为是过时的(按照RFC 7231所定义的 "HTTP-date "格式)。
IM
IM: feed
应用于响应的实例-操作
Last-Modified
Last-Modified: Mon, 15 Nov 2017 12:00:00 GMT
被请求对象的最后修改日期(以 "HTTP-date "格式,由RFC 7231定义)。
Link
Link: </feed>; rel="alternate"
用于表达与另一个资源的类型关系,其中关系类型由RFC 5988定义。
Location
Location: /pub/WWW/People.html
在重定向中使用,或者当一个新的资源被创建时使用
Pragma
Pragma: no-cache
具体实施的字段,可能在请求-响应链的任何地方产生各种影响。
Proxy-Authenticate
Proxy-Authenticate: Basic
请求认证以访问代理
Public-Key-Pins
HTTP公钥平移,宣布网站的真实TLS证书的哈希值
Retry-After
Retry-After: 120 Retry-After: Fri, 07 Nov 2014 23:59:59 GMT
如果一个实体暂时不可用,这指示客户端稍后再试。值可以是一个指定的时间段(以秒为单位)或一个HTTP-date
Server
Server: Apache/2.4.1 (Unix)
一个服务器的名称
Set-Cookie
Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
一个HTTP cookie
Strict-Transport-Security
Strict-Transport-Security: max-age=16070400; includeSubDomains
一个HSTS策略,告知HTTP客户端要缓存多长时间的HTTPS策略,以及这是否适用于子域。
Trailer
Trailer: Max-Forwards
Trailer一般字段值表明,给定的头字段集存在于用分块传输编码的消息的预告片中。
Transfer-Encoding
Transfer-Encoding: chunked
用于安全传输实体给用户的编码形式。目前定义的方法有:chunked、compress、deflate、gzip、identity。在HTTP/2中被弃用
Tk
Tk: ?
追踪状态头,建议在响应DNT(不要追踪)时发送的值,可能的值。"!" - 正在建设中 "?" - 动态 "G" - 面向多方的网关 "N" - 不追踪 "T" - 追踪 "C" - 经同意后追踪 "P" - 仅在同意后追踪 "D" - 不考虑DNT "U" - 更新
Upgrade
Upgrade: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket
要求客户端升级到其他协议。在HTTP/2中被弃用
Vary
Vary: Accept-Language Vary: *
告诉下游代理如何匹配未来的请求头,以决定是否可以使用缓存的响应,而不是从源服务器请求一个新的。
Via
Via: 1.0 fred, 1.1 example.com (Apache/1.1)
告知客户发送响应所经过的代理机构。
Warning
Warning: 199 Miscellaneous warning
关于实体主体可能存在问题的一般警告
WWW-Authenticate
WWW-Authenticate: Basic
表明访问所请求的实体应使用的认证方案
CORS头文件
Access-Control-Allow-OriginAccess-Control-Allow-CredentialsAccess-Control-Expose-HeadersAccess-Control-Max-AgeAccess-Control-Allow-MethodsAccess-Control-Allow-Headers
非标准的头信息。
Content-Security-Policy
Refresh
Refresh: 10;http://www.example.org/
在以秒为单位的任意延迟后重定向到一个URL
X-Powered-By
X-Powered-By: Brain/0.6b
可被服务器用来发送其名称和版本
X-Request-ID
允许服务器传递一个请求ID,客户可以发回该ID让服务器关联请求
X-UA-Compatible
设置应该使用哪个版本的Internet Explorer兼容层。只在需要支持IE8或IE9时使用。见StackOverflow
X-XSS-Protection
现在被Content-Security-Policy 标头所取代,在旧版浏览器中用于在检测到XSS攻击时停止页面加载。