HTTP响应头文件列表

391 阅读6分钟

每个HTTP响应都可以有一组头信息。

这篇文章旨在列出所有这些头信息,并对它们进行描述。

标准头信息

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-cacheCache-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-Origin
  • Access-Control-Allow-Credentials
  • Access-Control-Expose-Headers
  • Access-Control-Max-Age
  • Access-Control-Allow-Methods
  • Access-Control-Allow-Headers

非标准的头信息。

Content-Security-Policy

有助于防止XSS攻击。更多细节见MDN

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攻击时停止页面加载。