作为“隐私沙箱”项目的一部分,谷歌先是宣布要淘汰 chrome 对第三方 cookie 的支持,后又表示将逐步淘汰 chrome 中的用户代理(user-agent)字符串。作为现代 web 浏览器功能的重要组成部分,ua 字符串特指浏览器在启动连接时,发送给网站的一段文本。其中包含了有关浏览器类型、渲染引擎、操作系统等详细信息。
(题图 via zdnet)
以 windows 10 上使用的 mozilla firefox 浏览器为例,它会向网站服务器发送如下信息:
mozilla / 5.0(windows nt 10.0; win64; x64; rv:71.0)gecko / 20100101 firefox / 72.0
其实早在 90 年代,ua 字符串就已经作为网景(netscape)浏览器的一部分而开发,并一直沿用至今。
数十年来,网站一直根据访客的技术规范来实施功能上的微调。但是现在,谷歌认为这种机制已成为麻烦不断的根源。
谷歌工程师 yoav weiss 表示:线上广告客户已将 ua 字符串用作追踪和识别网站访问的一种方式。ua 嗅探不仅引发各种兼容性问题,还会带来隐私问题。
为了解决这些问题,谷歌计划冻结整个标准、并逐步在 chrome 中淘汰用户代理字符串。
至于长期计划,该公司将把所有 chrome 浏览器的 ua 字符串指定为通用值,以尽量避免泄露太多有关用户的信息。
这意味着在新平台上发布的新版 chrome 浏览器(如手机或新的操作系统版本),都将被识别为通用的 ua 字符串,而不是针对该特定平台的字符串。
将来网站将无法判断使用 chrome 的访问者是否正在 windows 7 或 windows 10 上运行,或者 chrome 移动版运行的三星 galaxy / google pixel 智能机。
网站只会知晓用户正在运行 chrome 浏览器,而分不清访客到底在台式机、或移动设备上运行。下面是 google 的逐步淘汰时间表:
从 2020 年 3 月中旬的 chrome 81 版本开始,google 将在 chrome 控制台中为读取 ua 字符串的网页显示警告,以便网站开发者调整相关代码;
到 2020 年 6 月上旬的 chrome 83 版本,google 将冻结 ua 字符串中的 chrome 浏览器版本信息,并统一操作系统的版本号;
至 2020 年 9 月中旬的 chrome 85 版本,google 将统一 ua 字符串中的桌面操作系统,并指定为通用值(移动设备亦将如此)。
试用申请