Accept 头部
HTTP Accept
请求和响应头部表示发送方能够理解的MIME 类型所表达的内容类型。在请求中,服务器使用内容协商来选择其中一个提议,并通过Content-Type
响应头部告知客户端所做的选择。在响应中,它提供有关服务器在发送给请求资源的消息中可以理解的内容类型的信息,以便该内容类型可以在后续的资源请求中使用。
浏览器根据请求的上下文设置此头部所需的数值。例如,当获取 CSS 样式表、图像、视频或脚本时,浏览器在请求中会使用不同的值。
头类型 | 请求标头, 响应标头 |
---|---|
禁止请求头 | 否 |
CORS 安全列表请求头 | 是* |
* 值不能包含CORS 不安全的请求头部字节,包括"():<>?@[\]{},
、删除字符0x7F
以及控制字符0x00
到0x19
,除了制表符0x09
。
语法
http
Accept: <media-type>/<MIME_subtype>
Accept: <media-type>/*
Accept: */*
// Multiple types, weighted with the quality value syntax
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8
指令
<媒体类型>/<子类型>
-
一个单一的、精确的媒体类型,例如
text/html
。 <媒体类型>/*
-
不带子类型的媒体类型。例如,
image/*
对应于image/png
、image/svg
、image/gif
和其他图像类型。 */*
-
任何媒体类型。
;q=
(q-因子权重)-
使用称为权重的相对质量值表示的优先级值。
示例
使用默认的 Accept 请求头部
使用命令行工具(如 curl 和 wget)发出的 HTTP 请求使用 */*
作为默认的 Accept
值
http
GET / HTTP/1.1
Host: example.com
User-Agent: curl/8.7.1
Accept: */*
浏览器导航通常具有以下 Accept
请求头部值
http
GET /en-US/ HTTP/2
Host: developer.mozilla.org
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
…
在收到文档后,对 developer.mozilla.org
示例中图像请求的默认 Accept
值如下所示
http
Accept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5
为 JSON 响应配置 Accept 请求头部
涉及 API 交互的系统通常请求 application/json
响应。以下是一个 GET
请求的示例,其中客户端明确请求 JSON 响应
http
GET /users/123 HTTP/1.1
Host: example.com
Authorization: Bearer abcd123
Accept: application/json
规范
规范 |
---|
HTTP 语义 # 字段.accept |
浏览器兼容性
加载中…
另见
- HTTP 内容协商
- 默认 Accept 值列表
- CORS 安全列表请求头部限制
- 包含内容协商结果的头部:
Content-Type
- 其他类似的头部:
TE
、Accept-Encoding
、Accept-Language