Accept

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

参见