关键-CH

Experimental: 这是一个 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表格

安全上下文: 此功能仅在 安全上下文 (HTTPS) 中可用,在某些或所有 支持的浏览器 中可用。

Critical-CH 客户端提示 响应头与 Accept-CH 一起使用,以指定接受的客户端提示也是 关键客户端提示

接收带有 Critical-CH 的响应的用户代理必须检查原始请求中是否发送了指示的关键标头。如果没有,用户代理将重新尝试请求,并附带关键标头,而不是呈现页面。这种方法确保使用关键客户端提示设置的客户端首选项始终被使用,即使它们没有包含在第一个请求中,或遵循服务器配置更改。

Critical-CH 标头中列出的每个标头也应该出现在 Accept-CHVary 标头中。

标头类型 响应标头
禁止的标头名称

语法

http
Critical-CH: <ch-list>

指令

<ch-list>

服务器认为是关键客户端提示的一个或多个以逗号分隔的客户端提示标头的列表。

示例

客户端向服务器发出初始请求

http
GET / HTTP/1.1
Host: example.com

服务器做出响应,通过 Accept-CH 告诉客户端它接受 Sec-CH-Prefers-Reduced-Motion。在本例中,Critical-CH 也被使用,表明 Sec-CH-Prefers-Reduced-Motion 被认为是关键客户端提示。

http
HTTP/1.1 200 OK
Content-Type: text/html
Accept-CH: Sec-CH-Prefers-Reduced-Motion
Vary: Sec-CH-Prefers-Reduced-Motion
Critical-CH: Sec-CH-Prefers-Reduced-Motion

注意: 我们还在 Vary 标头中指定了 Sec-CH-Prefers-Reduced-Motion,以指示应该根据该标头的值单独缓存响应(即使 URL 保持不变)。Critical-CH 标头中列出的每个标头也应该出现在 Accept-CHVary 标头中。

客户端自动重新尝试请求(因为上面指定了 Critical-CH),通过 Sec-CH-Prefers-Reduced-Motion 告诉服务器它对减少运动的动画有用户偏好

http
GET / HTTP/1.1
Host: example.com
Sec-CH-Prefers-Reduced-Motion: "reduce"

除非 Accept-CH 在响应中发生更改以指示服务器不再支持该标头,否则客户端将在当前会话中的后续请求中包含该标头。

规范

规范
客户端提示可靠性
# name-the-critical-ch-response-he

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅