Sec-CH-Prefers-Reduced-Transparency 头

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

HTTP Sec-CH-Prefers-Reduced-Transparency 请求头是一个用户代理客户端提示,它指示用户代理对降低透明度的偏好。

如果服务器通过 Accept-CH 头向客户端发出信号,表明它接受 Sec-CH-Prefers-Reduced-Transparency,则客户端可以随后使用此头进行响应,以指示用户对降低透明度的偏好。服务器可以向客户端发送适当调整的内容(例如 CSS 或图像),以降低内容的透明度。

此头是根据 prefers-reduced-transparency 媒体查询建模的。

头类型 请求标头客户端提示
禁止请求头 是 (Sec- 前缀)

语法

http
Sec-CH-Prefers-Reduced-Transparency: <preference>

指令

<preference>

用户代理对降低透明度的偏好。这通常取自底层操作系统的设置。此指令的值可以是 no-preferencereduce

示例

使用 Sec-CH-Prefers-Reduced-Transparency

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

http
GET / HTTP/1.1
Host: example.com

服务器响应,通过 Accept-CH 告知客户端它接受 Sec-CH-Prefers-Reduced-Transparency。在此示例中,Critical-CH 也被使用,表明 Sec-CH-Prefers-Reduced-Transparency 被视为关键客户端提示

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

注意:我们还在 Vary 头中指定了 Sec-CH-Prefers-Reduced-Transparency,以指示浏览器所提供的內容将根据此头的值而有所不同——即使 URL 保持不变——因此浏览器不应只使用现有的缓存响应,而应单独缓存此响应。Critical-CH 头中列出的每个头也应出现在 Accept-CHVary 头中。

客户端自动重试请求(由于上面指定了 Critical-CH),通过 Sec-CH-Prefers-Reduced-Transparency 告知服务器它有降低透明度的用户偏好

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

客户端将在当前会话的后续请求中包含该头,除非响应中的 Accept-CH 发生变化,表明服务器不再支持它。

规范

规范
用户偏好媒体特性客户端提示标头
# sec-ch-prefers-reduced-transparency

浏览器兼容性

另见