概述User-Agent Client Hints 以 `Sec-CH-*` 请求头替代传统 UA 字符串,降低指纹风险并提升设备识别的可控性。`Sec-CH-UA`、`Sec-CH-UA-Platform` 等低熵提示默认发送;服务端通过 `Accept-CH` 宣告可选取更多高熵字段。关键提示与行为`Sec-CH-UA`:低熵品牌列表,可能包含“伪造”品牌以避免对未知 UA 的歧视;默认发送(除非策略屏蔽)[参考1,2,4]。`Sec-CH-UA-Platform`:低熵平台提示(如 Windows/Mac/Android);默认发送[参考3]。`Accept-CH`:服务端宣告需要高熵字段(如 `Sec-CH-UA-Full-Version-List`),浏览器后续请求附带提示至站点会话结束[参考5]。JS API:`navigator.userAgentData` 暴露提示信息(如 `brands`、`mobile`)[参考5]。实践建议避免依赖完整 UA 字符串;基于 Client Hints 动态选择资源或调整体验。仅在必要时请求高熵字段;尊重隐私与性能,按站点需要最小化字段集合。参考与验证[参考1]MDN:`Sec-CH-UA` 头说明与低熵行为:https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Sec-CH-UA[参考2]MDN:`Sec-CH-UA` 文档与品牌伪造说明:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-UA[参考3]MDN:`Sec-CH-UA-Platform` 低熵提示说明:https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Sec-CH-UA-Platform[参考4]MDN:`Sec-CH-UA` 低熵提示的默认发送行为:https://web.nodejs.cn/en-us/docs/web/http/headers/sec-ch-ua/[参考5]Chrome 文档:UA Client Hints 与 `Accept-CH`、`navigator.userAgentData` 的说明:https://developer.chrome.com/docs/privacy-security/user-agent-client-hints关键词校验关键词与 UA Client Hints 隐私识别一致。

发表评论 取消回复