Accept

Accept 请求 HTTP 标头表示客户端能够理解的内容类型,以 MIME 类型的形式表达。借助内容协商机制, 服务器可以从诸多备选项中选择一项进行应用,并使用 Content-Type 响应标头通知客户端它的选择。浏览器会基于请求的上下文来为这个请求标头设置合适的值,比如,获取一个 CSS 层叠样式表时的值与获取图片、视频或脚本文件时的值是不同的。

标头类型 请求标头
禁止修改的标头
列入 CORS 白名单的请求标头 是,但有额外的限制,即值中不能包含 CORS 不安全请求标头字节:0x00-0x1F(除了 0x09(制表符,HT)),"():<>?@[\]{} 以及 0x7F(DEL)。

语法

http
Accept: <MIME_type>/<MIME_subtype>
Accept: <MIME_type>/*
Accept: */*

// 多种类型,采用权重值语法区分:
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp, */*;q=0.8

指令

<MIME_type>/<MIME_subtype>

一个单一且精确的 MIME 类型,例如 text/html

<MIME_type>/*

一个 MIME 类型,但不包含子类型。image/* 对应于 image/pngimage/svgimage/gif 以及其他图像类型。

*/*

任何 MIME 类型

;q=(q 因子加权)

使用的值根据一个称为权重的相对质量价值来排序,表达了优先级顺序。

示例

http
Accept: text/html

Accept: image/*

// 一般默认值
Accept: */*

// 导航请求的默认值
Accept: text/html, application/xhtml+xml, application/xml;q=0.9, */*;q=0.8

规范

Specification
HTTP Semantics
# field.accept

浏览器兼容性

BCD tables only load in the browser

参见