HTTP 标头

HTTP 标头

HTTP 标头HTTP 头部 允许客户端和服务器在 HTTP 请求或响应中传递附加信息。HTTP 头部由其不区分大小写的名称,后跟冒号 (:),然后是其值组成。值之前的空白字符将被忽略。

在历史上,自定义专有头部使用 X- 前缀,但这种约定在 2012 年 6 月被弃用,因为它在非标准字段成为 RFC 6648 中的标准时造成不便。其他头部列在 IANA HTTP 字段名称注册表 中,其原始内容是在 RFC 4229 中定义的。IANA 注册表列出头部,包括 其状态信息,其状态可能是“永久”(标准定义)、“临时”(新的)、“已弃用”(不推荐使用)或“已废弃”(不再使用)。

头部可以根据其上下文进行分组

请求头部

包含有关要获取的资源或请求该资源的客户端的更多信息。

响应头部

包含有关响应的附加信息,例如其位置或提供该响应的服务器。

表示头部

包含有关资源主体的信息,例如其 MIME 类型 或应用的编码/压缩。

有效载荷头部

包含与表示无关的有效载荷数据信息,包括内容长度和用于传输的编码。

头部还可以根据 代理 对它们的处理方式进行分组

端到端头部

这些头部必须传输到消息的最终接收者:对于请求,是服务器,对于响应,是客户端。中间代理必须以未修改的方式重新传输这些头部,并且缓存必须存储它们。

逐跳头部

这些头部仅对单个传输级连接有意义,并且不得由代理重新传输或缓存。请注意,只能使用 Connection 头部设置逐跳头部。

认证

WWW-Authenticate

定义访问资源时应使用的身份验证方法。

Authorization

包含用于向服务器验证用户代理的凭据。

Proxy-Authenticate

定义访问代理服务器后面的资源时应使用的身份验证方法。

Proxy-Authorization

包含用于向代理服务器验证用户代理的凭据。

缓存

Age

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

Cache-Control

请求和响应中缓存机制的指令。

Clear-Site-Data

清除与请求网站关联的浏览数据(例如,cookie、存储、缓存)。

Expires

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

No-Vary-Search Experimental

指定一组规则,这些规则定义了 URL 的查询参数将如何影响缓存匹配。这些规则决定了具有不同 URL 参数的相同 URL 是否应另存为单独的浏览器缓存条目。

条件

Last-Modified

资源的最后修改日期,用于比较同一资源的多个版本。它不如 ETag 精确,但在某些环境中更易于计算。使用 If-Modified-Since 和 If-Unmodified-Since 的条件请求使用此值来改变请求的行为。

ETag

一个唯一字符串,标识资源的版本。使用 If-Match 和 If-None-Match 的条件请求使用此值来改变请求的行为。

If-Match

使请求成为条件请求,并且仅当存储的资源与给定的 ETags 之一匹配时才应用该方法。

If-None-Match

使请求成为条件请求,并且仅当存储的资源不与任何给定的 ETags 匹配时才应用该方法。这用于更新缓存(对于安全请求),或者在已存在资源时防止上传新资源。

If-Modified-Since

使请求成为条件请求,并且期望仅当资源在给定的日期之后被修改时才传输资源。这用于仅在缓存过期时传输数据。

If-Unmodified-Since

使请求成为条件请求,并且期望仅当资源在给定的日期之后未被修改时才传输资源。这确保了特定范围内的新的片段与以前的片段的一致性,或者在修改现有文档时实现乐观并发控制系统。

Vary

确定如何匹配请求头部以决定是否可以使用缓存的响应,而不是从源服务器请求新的响应。

连接管理

Connection

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

Keep-Alive

控制持久连接应保持打开多长时间。

内容协商有关更多详细信息,请参阅 内容协商文章。

Accept

通知服务器可以发回的类型的数据。

Accept-Charset Deprecated

宣传客户端支持的 字符编码。它已弃用,因为 UTF-8 已变得无处不在,使用该头部会使客户端指纹识别更容易。

Accept-Encoding

编码算法,通常是 压缩算法,它可以用于发回的资源。

Accept-Language

通知服务器服务器预期发回的人类语言。这是一个提示,并不一定完全在用户的控制之下:服务器应始终注意不要覆盖显式用户选择(例如,从下拉菜单中选择语言)。

Accept-Patch

一个请求内容协商响应头部,它宣传服务器在 PATCH 请求中能够理解的 媒体类型。

Accept-Post

一个请求内容协商响应头部,它宣传服务器在 POST 请求中能够理解的 媒体类型。

控制

Expect

表示服务器需要满足的期望,才能正确处理请求。

Max-Forwards

当使用 TRACE 时,表示请求在被反射回发送者之前可以进行的最大跳数。

Cookie

Cookie

包含服务器之前使用 Set-Cookie 头部发送的存储的 HTTP cookie。

Set-Cookie

从服务器将 cookie 发送到用户代理。

CORS有关更多信息,请参阅 CORS 文档。

Access-Control-Allow-Credentials

指示当凭据标志为真时,对请求的响应是否可以公开。

Access-Control-Allow-Headers

用于响应 预检请求,以指示在进行实际请求时可以使用哪些 HTTP 头部。

Access-Control-Allow-Methods

在响应预检请求时,指定访问资源时允许的方法。

Access-Control-Allow-Origin

指示响应是否可以共享。

Access-Control-Expose-Headers

指示哪些头部可以作为响应的一部分公开,方法是列出它们的名称。

Access-Control-Max-Age

指示预检请求的结果可以缓存多长时间。

Access-Control-Request-Headers

在发出预检请求时使用,以让服务器知道在发出实际请求时将使用哪些 HTTP 头部。

Access-Control-Request-Method

在发出预检请求时使用,以让服务器知道在发出实际请求时将使用哪些 HTTP 方法。

Origin

指示提取的来源。

Timing-Allow-Origin

指定允许查看通过 资源计时 API 的功能检索的属性值的来源,否则这些属性值将被报告为零,因为存在跨域限制。

下载

Content-Disposition

指示传输的资源应该内联显示(没有该头的默认行为),还是应该像下载一样处理,浏览器应该显示“另存为”对话框。

完整性摘要

Content-Digest Experimental

提供 摘要,该摘要是 HTTP 消息中帧化的八位字节流(消息内容)的摘要,它取决于 Content-Encoding 和 Content-Range。

Digest Deprecated Non-standard

提供 摘要,用于资源。请参阅 Content-Digest 和 Repr-Digest。

Repr-Digest Experimental

在传输之前提供目标资源的所选表示的 摘要。与 Content-Digest 不同,摘要不会考虑 Content-Encoding 或 Content-Range。

Want-Content-Digest Experimental

声明对 Content-Digest 头部的愿望。它是 Want-Repr-Digest 的 Content- 等效项。

Want-Digest Deprecated Non-standard

表示对一个Digest 头部的请求。请参见Want-Content-Digest 和 Want-Repr-Digest。

Want-Repr-Digest 实验性

表示对一个Repr-Digest 头部的请求。它是Want-Content-Digest 的Repr- 类似物。

消息正文信息

Content-Length

资源的大小,以十进制字节数表示。

Content-Type

指示资源的媒体类型。

Content-Encoding

用于指定压缩算法。

Content-Language

描述面向用户的语言,以便用户可以根据自己的首选语言进行区分。

Content-Location

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

代理

Forwarded

包含来自代理服务器客户端的信息,这些信息在代理参与请求路径时被更改或丢失。

Via

由代理(正向和反向代理)添加,可以出现在请求头和响应头中。

范围请求HTTP 范围请求 允许客户端从服务器请求资源的一部分。范围请求对于支持随机访问的媒体播放器、知道只需要大型文件一部分的数据工具以及允许用户暂停和恢复下载的下载管理器等应用程序很有用。

Accept-Ranges

指示服务器是否支持范围请求,如果支持,则指示范围可以用哪个单位来表示。

Range

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

If-Range

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

Content-Range

指示部分消息在完整主体消息中的位置。

重定向

Location

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

刷新

指示浏览器重新加载页面或重定向到另一个页面。取值与具有http-equiv="refresh" 的meta 元素相同。

请求上下文

From

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

Host

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

Referer

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

Referrer-Policy

控制在Referer 头部中发送的哪些引用信息应包含在发出的请求中。

User-Agent

包含一个特征字符串,该字符串允许网络协议对等体识别请求软件用户代理的应用程序类型、操作系统、软件供应商或软件版本。

响应上下文

Allow

列出资源支持的 HTTP 请求方法集。

Server

包含有关源服务器用于处理请求的软件的信息。

安全性

Cross-Origin-Embedder-Policy (COEP)

允许服务器为给定文档声明一个嵌入器策略。

Cross-Origin-Opener-Policy (COOP)

阻止其他域打开/控制窗口。

Cross-Origin-Resource-Policy (CORP)

阻止其他域读取应用此头的资源的响应。另请参见 CORP 说明文章。

Content-Security-Policy (CSP)

控制用户代理允许为给定页面加载的资源。

Content-Security-Policy-Report-Only

允许 Web 开发人员通过监控而非强制执行其效果来试验策略。这些违规报告由通过 HTTP POST 请求发送到指定 URI 的JSON 文档组成。

Expect-CT 已弃用

允许网站选择加入报告和执行证书透明度,以检测对该网站使用错误签发的证书。

Permissions-Policy

提供了一种机制来允许和拒绝在网站自己的框架中以及在它嵌入的