Headers
Headers
HTTP 的 header 允许客户端和服务器通过请求或响应传递附加信息。一个请求头由不区分大小写的名称和一个冒号“ :
'组成,然后由它的值(没有换行符)组成。在值被忽略之前引导空格。
可以使用'X'前缀添加自定义专有标头,但是该惯例在2012年6月已弃用,原因是非标准字段在 RFC 6648中成为标准时造成的不便之处; 其他人则列入 IANA 注册处,其原始内容已在 RFC 4229中定义。IANA 还维护建议的新 HTTP 消息头的注册表。
头文件可以根据其上下文分组:
- 常规标题:标题适用于请求和响应,但与最终在正文中传输的数据无关。
头文件也可以根据代理如何处理它们进行分组:
End-to-end 的 header 这些头部必须传送给消息的最终收件人; 即请求的服务器或响应的客户端。中间代理必须重新传输未经修改的端到端标头,并且缓存必须存储它们。逐跳标头这些标头仅对单个传输级连接有意义,且不得由代理或缓存重新传输。这样的标题有:Connection
,Keep-Alive
,Proxy-Authenticate
,Proxy-Authorization
,TE
,Trailer
,Transfer-Encoding
和Upgrade
。请注意,只能使用Connection
通用报头设置逐跳报头。
以下列表按照其使用类别汇总了 HTTP 标头。有关按字母顺序排列的列表,请参阅左侧的导航。
Authentication
WWW-Authenticate
定义应该用于访问资源的身份验证方法。
Caching
Age
对象已在代理缓存中的时间(以秒为单位)。
Client hints
Accept-CH
...Content-DPR
...DPR
...Downlink
...Save-Data
...Viewport-Width
...Width
...
Conditionals
Last-Modified
它是验证器,是资源的最后修改日期,用于比较同一资源的多个版本。它不太准确ETag
,但在某些环境下更容易计算。有条件的请求使用If-Modified-Since
和If-Unmodified-Since
使用此值来更改请求的行为。
连接管理
Connection
控制当前事务完成后网络连接是否保持打开状态。
内容协商
Accept
通知服务器可以发回的数据类型。它是 MIME 类型的。
Controls
Expect
表示服务器需要满足的期望,以便正确处理请求。Max-Forwards
...
Cookies
Cookie
包含先前由服务器使用Set-Cookie
标题发送的存储的 HTTP Cookie
。
CORS
Access-Control-Allow-Origin
指示是否可以共享响应。
不跟踪
DNT
用于表达用户的跟踪偏好。
下载
Content-Disposition
如果传输的资源应以内联方式显示(标题不存在时的默认行为),或者应该像下载一样处理,并且浏览器应显示“另存为”窗口,那么它是响应标头。
消息正文信息
Content-Length
表示发送给收件人的实体主体的大小,以十进制数表示。
代理
Forwarded
包含代理服务器的面向客户端的信息,这些信息在请求路径中包含代理时发生了改变或丢失。
重定向
Location
指示将页面重定向到的 URL 。
请求上下文
From
包含控制请求用户代理的人类用户的 Internet 电子邮件地址。
响应上下文
Allow
列出资源支持的一组 HTTP 请求方法。
范围请求
Accept-Ranges
指示服务器是否支持范围请求,如果有,请在哪个单位范围内表示。
安全
Content-Security-Policy
(CSP)控制用户代理允许为给定页面加载的资源。
服务器发送的事件
Ping-From
...Ping-To
...Last-Event-ID
...
转移编码
Transfer-Encoding
指定用于安全地将实体传送给用户的编码形式。
WebSockets
Sec-WebSocket-Key
...Sec-WebSocket-Extensions
...Sec-WebSocket-Accept
...Sec-WebSocket-Protocol
...Sec-WebSocket-Version
...
其他
Date
包含消息来源的日期和时间。