Sec-CH-UA 头
HTTP Sec-CH-UA
请求头是一个用户代理客户端提示,它提供了用户代理的品牌和重要版本信息。
Sec-CH-UA
头以逗号分隔的列表形式,提供了与浏览器关联的每个品牌的品牌和重要版本。因此,该头允许服务器根据共享品牌以及其各自版本中的特定定制来定制其响应。
Sec-CH-UA
是一个低熵提示。除非被用户代理权限策略阻止,否则它默认发送,无需服务器通过发送 Accept-CH
来选择加入。
该头可能在任何位置包含任何名称的“虚假”品牌。这是一个旨在防止服务器直接拒绝未知用户代理的功能,从而强制用户代理谎报其品牌身份。
注意: Sec-CH-UA-Full-Version-List
头与 Sec-CH-UA
相同,但包含每个品牌的完整版本号而非重要版本号。
语法
Sec-CH-UA: "<brand>";v="<significant version>", …
该值是一个逗号分隔的列表,包含用户代理品牌列表中的品牌及其关联的重要版本号。
指令
<brand>
-
与用户代理关联的品牌,例如“Chromium”、“Google Chrome”,或故意不正确的品牌,例如
"Not A;Brand"
。 <significant version>
-
与可区分的网络公开功能关联的“市场”版本号。
描述
品牌是用户代理的商业名称,例如:Chromium、Opera、Google Chrome、Microsoft Edge、Firefox 和 Safari。一个用户代理可能关联多个品牌。例如,Opera、Chrome 和 Edge 都基于 Chromium,并将在 Sec-CH-UA
头中提供这两个品牌。
重要版本是用于区分品牌主要版本的“市场”版本标识符。例如,具有完整版本号“96.0.4664.45”的 Chromium 构建的重要版本号为“96”。
示例
不同的 Sec-CH-UA 品牌
Sec-CH-UA
是一个低熵提示。除非被用户代理策略明确阻止,否则它将在所有请求中发送(无需服务器通过发送 Accept-CH
来选择加入)。
下面显示了来自 Chromium、Chrome、Edge 和 Opera 桌面浏览器的字符串。请注意,它们都共享“Chromium”品牌,但有一个额外的品牌指示其来源。它们还有一个故意不正确的品牌字符串,它可能出现在任何位置并具有不同的文本。
Sec-CH-UA: "(Not(A:Brand";v="8", "Chromium";v="98"
Sec-CH-UA: " Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"
Sec-CH-UA: " Not A;Brand";v="99", "Chromium";v="96", "Microsoft Edge";v="96"
Sec-CH-UA: "Opera";v="81", " Not;A Brand";v="99", "Chromium";v="95"
规范
规范 |
---|
用户代理客户端提示 # sec-ch-ua |
浏览器兼容性
加载中…
另见
- 客户端提示
- 用户代理客户端提示 API
Accept-CH
- HTTP 缓存:Vary 和
Vary
- 通过用户代理客户端提示改善用户隐私和开发者体验 (developer.chrome.com)