我理解用户代理提示更加模糊的目的在于增加浏览器指纹识别的难度。
我的Chrome浏览器(Windows桌面版)发送以下头部信息:
我的Chrome浏览器(Windows桌面版)发送以下头部信息:
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36
sec-ch-ua: "Chromium";v="86", "\"Not\\A;Brand";v="99", "Google Chrome";v="86"
sec-ch-ua-mobile: ?0
我不理解的是:
- 为什么特别使用字符串"Not A Brand"?还有其他人使用这个伪UA吗?这是某种玩笑吗?
- 为什么在字符串内部使用
\"
和\\A;
?我唯一的猜测是这可能会与解析器产生干扰(就像CSS中的反IE hack一样),但这似乎是一个相当奇怪的目的 - 而且我IRC,\A
是响铃字符。 - 既然它还发送完整的
user-agent
头,其中包含具体的版本号,那么这又如何实现用户代理提示模棱两可呢? - 顺便问一下:为什么Chrome的用户代理还声称自己是Mozilla、AppleWebKit和Safari?它不是,而这个
user-agent
字符串是独特的Chrome的。它是否具有来自那些其他浏览器的嵌入式组件?
\"
会被反转义为"
,\\
会被反转义为\
,所以响铃字符\A
没有被解析。 - William