HTTP 消息头(有些地方称作HTTP报头)允许客户端和服务器通过 request和 response传递附加信息。一个请求头由名称(不区分大小写)后跟一个冒号“:”,冒号后跟具体的值(不带换行符)组成。该值前面的引导空白会被忽略。
自定专用消息头可通过’X-‘ 前缀来添加;但是这种用法被IETF在2012年6月发布的 RFC5548 中明确弃用,原因是其会在非标准字段成为标准时造成不便;其他的消息头在 IANA 注册表 中列出, 其原始内容在 RFC 4229 中定义。 此外,IANA 还维护着被提议的新HTTP 消息头注册表.
根据不同上下文,可将消息头分为:
- General headers: 同时适用于请求和响应消息,但与最终消息主体中传输的数据无关的消息头。
- Request headers: 包含更多有关要获取的资源或客户端本身信息的消息头。
- Response headers: 包含有关响应的补充信息,如其位置或服务器本身(名称和版本等)的消息头。
- Entity headers: 包含有关实体主体的更多信息,比如主体长(Content-Length)度或其MIME类型。
消息头也可以根据代理对其的处理方式分为:
端到端消息头
这类消息头必须被传输到最终的消息接收者,也即,请求的服务器或响应的客户端。中间的代理服务器必须转发未经修改的端到端消息头,并且必须缓存它们。
逐跳消息头
这类消息头仅对单次传输连接有意义,不能通过代理或缓存进行重新转发。这些消息头包括 Connection
, Keep-Alive
, Proxy-Authenticate
, Proxy-Authorization
, TE
, Trailer
, Transfer-Encoding
及 Upgrade
。注意,只能使用 Connection
来设置逐跳一般头。
左侧导航栏提供了按字母顺序排列的列表,后面列清单描述了用途:
消息头 | 描述 | 示例 |
---|---|---|
Accept | 用户代理期望的MIME 类型列表。 | Accept: text/html |
Accept-CH | 列出配置数据,服务器可据此来选择适当的响应。 | Accept-CH: DPR, Viewport-Width |
Accept-Charset | 列出用户代理支持的字符编码。 | Accept-Charset: utf-8, iso-8859-1;q=0.5 |
Accept-Features | ||
Accept-Encoding | 列出用户代理支持的压缩方法。 | Accept-Encoding: gzip Accept-Encoding:compress Accept-Encoding: deflate Accept-Encoding: br Accept-Encoding: identity Accept-Encoding: * |
Accept-Language | 列出用户代理期望的页面语言。 | Accept-Language: zh-CN,zh;q=0.8 |
Accept-Ranges | 代表区间单位 | Accept-Ranges: bytes |
Access-Control-Allow-Credentials | ||
Access-Control-Allow-Origin | Access-Control-Allow-Origin: https://developer.mozilla.org | |
Access-Control-Allow-Methods | 响应头指定一个或多个允许请求的方法 | Access-Control-Allow-Methods: POST, GET, OPTIONS |
Access-Control-Allow-Headers | ||
Access-Control-Max-Age | Access-Control-Max-Age: 600 | |
Access-Control-Expose-Headers | ||
Access-Control-Request-Method | Access-Control-Request-Method: POST | |
Access-Control-Request-Headers | ||
Age | ||
Allow | ||
Alternates | ||
Authorization | 被用于向服务器提供认证用户身份的凭证 | Authorization: Basic <credentials> |
Cache-Control | ||
Connection | Connection: keep-alive | |
Content-Encoding | Content-Encoding: gzip Content-Encoding: compress Content-Encoding: deflate Content-Encoding: br | |
Content-Language | Content-Language: de-DE, en-CA | |
Content-Length | 告诉服务器报文实体部分的大小,以字节为单位 | Content-Length: 18 |
Content-Location | Content-Location: /documents/foo.xml | |
Content-MD5 | ||
Content-Range | ||
Content-Security-Policy | 控制用户代理在一个页面上可以加载使用的资源。 | Content-Security-Policy: default-src https: |
Content-Type | 指示服务器文档的MIME 类型。帮助用户代理(浏览器)去处理接收到的数据。 | Content-Type: multipart/form-data; boundary=something |
Cookie | 存储的HTTP cookies | Cookie: PHPSESSID=298zf09hf012fh2; csrftoken=u32t4o3tb3gg43; _gat=1 |
DNT | 设置该值为1, 表明用户明确退出任何形式的网上跟踪。 | |
Date | ||
ETag | ||
Expect | ||
Expires | ||
From | ||
Host | Host: developer.mozilla.org | |
If-Match | ||
If-Modified-Since | ||
If-None-Match | ||
If-Range | ||
If-Unmodified-Since | ||
Last-Event-ID | 给出服务器在先前HTTP连接上接收的最后事件的ID。用于同步文本/事件流。 | |
Last-Modified | ||
Link | 等同于HTML标签中的”link”,但它是在HTTP层上,给出一个与获取的资源相关的URL以及关系的种类。 | |
Location | Location响应头指示URL的页面重定向到何处。 | |
Max-Forwards | ||
Negotiate | ||
Origin | Origin: http://developer.mozilla.org:80 | |
Pragma | ||
Proxy-Authenticate | ||
Proxy-Authorization | ||
Range | ||
Referer | (请注意,在HTTP / 0.9规范中引入的正交错误必须在协议的后续版本中保留) | |
Retry-After | ||
Sec-Websocket-Extensions | ||
Sec-Websocket-Key | ||
Sec-Websocket-Origin | ||
Sec-Websocket-Protocol | ||
Sec-Websocket-Version | ||
Server | ||
Set-Cookie | Set-Cookie响应头用来服务器向客户端发送cookie。 | |
Set-Cookie2 | 已淘汰。 | |
Strict-Transport-Security | ||
TCN | ||
TE | ||
Trailer | 列出将在消息正文之后在尾部块中传输的头。这允许服务器计算一些值,如Content-MD5:在传输数据时。请注意,Trailer:标头不得列出Content-Length :, Trailer:或Transfer-Encoding:headers。 | |
Transfer-Encoding | ||
Upgrade | ||
User-Agent | 一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号。 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36 |
Variant-Vary | ||
Vary | 列出了用作Web服务器选择特定内容的条件的标头。此服务器对于高效和正确缓存发送的资源很重要。 | |
Via | ||
Warning | ||
WWW-Authenticate | 定义了使用何种验证方式去获取对资源的连接。通常会和一个 401 Unauthorized 的响应一同被发送。 | |
X-Content-Duration | ||
X-Content-Security-Policy | ||
X-DNSPrefetch-Control | ||
X-Frame-Options | ||
X-Requested-With | 通常在值为“XMLHttpRequest”时使用 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/basic/http/2196.html