directory search
Guides Access control CORS Authentication Browser detection using the user agent Caching Caching FAQ Compression Conditional requests Connection management in HTTP 1.x Content negotiation Content negotiation: List of default Accept values Cookies CSP Messages Overview Protocol upgrade mechanism Proxy servers and tunneling Proxy servers and tunneling: Proxy Auto-Configuration (PAC) file Public Key Pinning Range requests Redirections Resources and specifications Resources and URIs Response codes Server-Side Access Control Session Guides: Basics Basics of HTTP Choosing between www and non-www URLs Data URIs Evolution of HTTP Identifying resources on the Web MIME Types MIME types: Complete list of MIME types CSP Content-Security-Policy Content-Security-Policy-Report-Only CSP: base-uri CSP: block-all-mixed-content CSP: child-src CSP: connect-src CSP: default-src CSP: font-src CSP: form-action CSP: frame-ancestors CSP: frame-src CSP: img-src CSP: manifest-src CSP: media-src CSP: object-src CSP: plugin-types CSP: referrer CSP: report-uri CSP: require-sri-for CSP: sandbox CSP: script-src CSP: style-src CSP: upgrade-insecure-requests CSP: worker-src Headers Accept Accept-Charset Accept-Encoding Accept-Language Accept-Ranges Access-Control-Allow-Credentials Access-Control-Allow-Headers Access-Control-Allow-Methods Access-Control-Allow-Origin Access-Control-Expose-Headers Access-Control-Max-Age Access-Control-Request-Headers Access-Control-Request-Method Age Allow Authorization Cache-Control Connection Content-Disposition Content-Encoding Content-Language Content-Length Content-Location Content-Range Content-Type Cookie Cookie2 Date DNT ETag Expect Expires Forwarded From Headers Host If-Match If-Modified-Since If-None-Match If-Range If-Unmodified-Since Keep-Alive Large-Allocation Last-Modified Location Origin Pragma Proxy-Authenticate Proxy-Authorization Public-Key-Pins Public-Key-Pins-Report-Only Range Referer Referrer-Policy Retry-After Server Set-Cookie Set-Cookie2 SourceMap Strict-Transport-Security TE Tk Trailer Transfer-Encoding Upgrade-Insecure-Requests User-Agent User-Agent: Firefox Vary Via Warning WWW-Authenticate X-Content-Type-Options X-DNS-Prefetch-Control X-Forwarded-For X-Forwarded-Host X-Forwarded-Proto X-Frame-Options X-XSS-Protection Methods CONNECT DELETE GET HEAD Methods OPTIONS PATCH POST PUT Status 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 307 Temporary Redirect 308 Permanent Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Payload Too Large 414 URI Too Long 415 Unsupported Media Type 416 Range Not Satisfiable 417 Expectation Failed 426 Upgrade Required 428 Precondition Required 429 Too Many Requests 431 Request Header Fields Too Large 451 Unavailable For Legal Reasons 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 511 Network Authentication Required Status
characters

HTTP 的 header 允许客户端和服务器通过请求或响应传递附加信息。一个请求头由不区分大小写的名称和一个冒号“ :'组成,然后由它的值(没有换行符)组成。在值被忽略之前引导空格。

可以使用'X'前缀添加自定义专有标头,但是该惯例在2012年6月已弃用,原因是非标准字段在 RFC 6648中成为标准时造成的不便之处; 其他人则列入 IANA 注册处,其原始内容已在 RFC 4229中定义。IANA 还维护建议的新 HTTP 消息头的注册表。

头文件可以根据其上下文分组:

  • 常规标题:标题适用于请求和响应,但与最终在正文中传输的数据无关。

  • 请求标头:包含有关要获取的资源或客户端本身的更多信息的标头。

  • 响应标题:包含响应附加信息的标题,如其位置或服务器本身(名称和版本等)。

  • 实体标头:包含有关实体主体的更多信息的标头,如其内容长度或其 MIME 类型。

头文件也可以根据代理如何处理它们进行分组:

End-to-end 的 header 这些头部必须传送给消息的最终收件人; 即请求的服务器或响应的客户端。中间代理必须重新传输未经修改的端到端标头,并且缓存必须存储它们。逐跳标头这些标头仅对单个传输级连接有意义,且不得由代理或缓存重新传输。这样的标题有:ConnectionKeep-AliveProxy-AuthenticateProxy-AuthorizationTETrailerTransfer-EncodingUpgrade。请注意,只能使用Connection通用报头设置逐跳报头。

以下列表按照其使用类别汇总了 HTTP 标头。有关按字母顺序排列的列表,请参阅左侧的导航。

Authentication

WWW-Authenticate定义应该用于访问资源的身份验证方法。

Authorization包含使用服务器验证用户代理的凭据。

Proxy-Authenticate定义应该用来访问代理服务器后面资源的身份验证方法。

Proxy-Authorization包含使用代理服务器验证用户代理的凭据。

Caching

Age对象已在代理缓存中的时间(以秒为单位)。

Cache-Control在请求和响应中指定缓存机制的指令。

Expires响应被视为陈旧的日期/时间。

Pragma特定于实现的头部可能会在请求 - 响应链的任何位置产生各种效果。用于向后兼容Cache-Control头部尚不存在的 HTTP / 1.0 缓存。

Warning包含可能问题信息的一般警告字段。

Client hints

Accept-CH...Content-DPR...DPR...Downlink...Save-Data...Viewport-Width...Width...

Conditionals

Last-Modified它是验证器,是资源的最后修改日期,用于比较同一资源的多个版本。它不太准确ETag,但在某些环境下更容易计算。有条件的请求使用If-Modified-SinceIf-Unmodified-Since使用此值来更改请求的行为。

ETag它是一个验证程序,它是标识资源版本的唯一字符串。有条件的请求使用If-MatchIf-None-Match使用此值来更改请求的行为。

If-Match使请求有条件并仅当存储的资源与给定的 ETags 中的一个匹配时才应用该方法。

If-None-Match使请求有条件并仅在存储的资源与任何给定的 ETag 不匹配时才应用该方法。这用于更新缓存(用于安全请求),或者防止在已经存在的情况下上载新资源。

If-Modified-Since使请求有条件并期望实体仅在给定日期后被修改的情况下才被传送。这仅用于在缓存过期时传输数据。

If-Unmodified-Since使请求有条件,并期望实体仅在给定日期后未被修改的情况下才被传送。这用于确保特定范围的新片段与先前片段的一致性,或者在修改现有文档时实现乐观并发控制系统。

连接管理

Connection控制当前事务完成后网络连接是否保持打开状态。

Keep-Alive控制持续连接应保持打开状态的时间。

内容协商

Accept通知服务器可以发回的数据类型。它是 MIME 类型的。

Accept-Charset通知服务器客户端能够理解哪些字符集。

Accept-Encoding通知服务器有关编码算法,通常是一种压缩算法,可用于回送的资源。

Accept-Language通知服务器关于服务器预期发回的语言。这是一个提示,并不一定完全在用户的全面控制之下:服务器应始终注意不要重写明确的用户选择(如在下拉列表中选择语言)。

Controls

Expect表示服务器需要满足的期望,以便正确处理请求。Max-Forwards...

Cookies

Cookie包含先前由服务器使用Set-Cookie标题发送的存储的 HTTP Cookie 。

Set-Cookie将 cookies 从服务器发送到用户代理。

Cookie2用于包含一个 HTTP cookie ,以前由服务器通过Set-Cookie2标题发送,但已被规范废弃。Cookie改为使用。

Set-Cookie2用于将 cookie 从服务器发送到用户代理,但已被规范废弃。Set-Cookie改为使用。

CORS

Access-Control-Allow-Origin指示是否可以共享响应。

Access-Control-Allow-Credentials指示在凭证标志为 true 时是否可以公开对请求的响应。

Access-Control-Allow-Headers用于响应预检请求以指示在发出实际请求时可以使用哪些 HTTP 标头。

Access-Control-Allow-Methods指定访问资源以响应预检请求时允许的方法。

Access-Control-Expose-Headers通过列出其名称,指示哪些头可以作为响应的一部分公开。

Access-Control-Max-Age指示可以缓存预检请求结果的时间长度。

Access-Control-Request-Headers用于发出预检请求以让服务器知道在实际请求发生时将使用哪些 HTTP 标头。

Access-Control-Request-Method用于发出预检请求时,让服务器知道在发出实际请求时将使用哪种 HTTP 方法。

Origin指示获取来源的位置。

不跟踪

DNT用于表达用户的跟踪偏好。

Tk指示应用于相应请求的跟踪状态。

下载

Content-Disposition如果传输的资源应以内联方式显示(标题不存在时的默认行为),或者应该像下载一样处理,并且浏览器应显示“另存为”窗口,那么它是响应标头。

消息正文信息

Content-Length表示发送给收件人的实体主体的大小,以十进制数表示。

Content-Type指示资源的媒体类型。

Content-Encoding用于指定压缩算法。

Content-Language描述用于受众的语言,以便用户根据用户自己的首选语言进行区分。

Content-Location指示返回数据的备用位置。

代理

Forwarded包含代理服务器的面向客户端的信息,这些信息在请求路径中包含代理时发生了改变或丢失。

X-Forwarded-For标识通过 HTTP 代理或负载平衡器连接到 Web 服务器的客户端的始发 IP 地址。

X-Forwarded-Host标识客户端用于连接到代理或负载平衡器的原始主机请求。

X-Forwarded-Proto标识客户端用于连接到代理或负载平衡器的协议( HTTP 或 HTTPS )。

Via代理添加了正向和反向代理,并且可以出现在请求头和响应头中。

重定向

Location指示将页面重定向到的 URL 。

请求上下文

From包含控制请求用户代理的人类用户的 Internet 电子邮件地址。

Host指定服务器的域名(用于虚拟主机),以及(可选)指定服务器正在侦听的 TCP 端口号。

Referer之前的网页的地址,从该网页开始,链接到当前请求的页面。

Referrer-Policy管理在Referer头文件中发送的引用者信息应包含在请求中。

User-Agent包含允许网络协议对等方标识请求软件用户代理的应用程序类型,操作系统,软件供应商或软件版本的特征字符串。另请参阅 Firefox 用户代理字符串参考。

响应上下文

Allow列出资源支持的一组 HTTP 请求方法。

Server包含有关原始服务器用来处理请求的软件的信息。

范围请求

Accept-Ranges指示服务器是否支持范围请求,如果有,请在哪个单位范围内表示。

Range指示服务器应返回的文档的一部分。

If-Range创建一个条件范围请求,只有当给定的 etag 或日期与远程资源匹配时才会满足该条件范围请求。用于防止从资源的不兼容版本下载两个范围。

Content-Range指示部分消息所属的全身消息的位置。

安全

Content-Security-Policy(CSP)控制用户代理允许为给定页面加载的资源。

Content-Security-Policy-Report-Only允许 Web 开发人员通过监视(但不强制执行)其效果来实验策略。这些违规报告由通过 HTTP 请求发送到指定 URI 的 JSON 文档组成POST

Public-Key-Pins(HPKP)将特定加密公钥与某个 Web 服务器关联,以降低伪造证书对 MITM 攻击的风险。Public-Key-Pins-Report-Only将报告发送到标题中指定的 report-uri ,并且仍允许客户端连接到服务器,即使违反了锁定。

Strict-Transport-Security(HSTS)使用 HTTPS 而不是 HTTP 强制通信。

Upgrade-Insecure-Requests向服务器发送一个信号,表示客户对加密和认证响应的偏好,并且可以成功处理该upgrade-insecure-requests指令。

X-Content-Type-Options禁用 MIME 嗅探并强制浏览器使用中指定的类型Content-Type

X-Frame-Options(XFO)指示是允许浏览器呈现<frame><iframe>或者<object>X-XSS-Protection中的页面,还是启用跨站点脚本过滤。

服务器发送的事件

Ping-From...Ping-To...Last-Event-ID...

转移编码

Transfer-Encoding指定用于安全地将实体传送给用户的编码形式。

TE指定用户代理愿意接受的传输编码。

Trailer允许发件人在分块邮件末尾添加其他字段。

WebSockets

Sec-WebSocket-Key...Sec-WebSocket-Extensions...Sec-WebSocket-Accept...Sec-WebSocket-Protocol...Sec-WebSocket-Version...

其他

Date包含消息来源的日期和时间。

Large-Allocation告诉浏览器正在加载的页面将要执行大量分配。

Link... Retry-After表示用户代理在进行后续请求之前应等待多长时间。

SourceMap将生成的代码链接到源地图。升级标题字段

Upgrade的相关 RFC 文档是 RFC 7230 的6.7节。该标准建立了在当前客户端,服务器,传输协议连接上升级或更改为不同协议的规则。例如,如果服务器决定确认并实现 Upgrade 标头字段,则此标头标准允许客户端从 HTTP 1.1 更改为 HTTP 2.0 。Niether 聚会需要接受升级标题字段中指定的条款。它可以在客户端和服务器头中使用。如果指定了升级头域,那么发送者也必须发送带有指定升级选项的连接头域。有关 Connection 标题字段的详细信息,请参阅上述 RFC 的6.1节。

Vary确定如何匹配未来的请求标头,以决定是否可以使用缓存的响应,而不是从原始服务器请求新的响应。

X-DNS-Prefetch-Control控制 DNS 预取,这是浏览器主动执行用户可以选择关注的两个链接的域名解析功能以及文档引用的项目(包括图像,CSS,JavaScript 等)的 URL 的功能。X-Firefox-Spdy... ... X-Requested-With... ... X-UA-Compatible... ...

特约

您可以通过编写新条目或改进现有条目来提供帮助。

Previous article: Next article: