Google计划在Chrome中逐步淘汰User-Agent

Lasted 2020-01-19 10:17:32

谷歌宣布,将从 Chrome 81 开始,逐步淘汰 Chrome 浏览器中 User-Agent 字符串的使用。

用户代理字符串(user agent string,简称“UA字符串”)是浏览器启动连接时发送到网站的一段文本。它包含了有关浏览器类型、渲染引擎和操作系统等在内的详细信息。例如,Mac 上用于 Chrome 的 UA 字符串如下所示:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36

在后端开发中经常用来判断访问是否来源于手机或某些特殊的浏览器版本。该字段很容易被前端伪造。

 谷歌工程师 Yoav Weiss 表示:线上广告客户已将 UA 字符串用作追踪和识别网站访问的一种方式。UA 嗅探不仅引发各种兼容性问题,还会带来隐私问题。

为了解决这些问题,谷歌计划冻结整个标准、并逐步在 Chrome 中淘汰用户代理字符串。

谷歌针对当前 UA 字符串的淘汰计划:

  • Chrome 81 (2020年3月中旬)-在 Chrome 控制台中针对读取UA字符串的网页显示警告,以便开发人员可以调整其网站代码。
  • Chrome 83 (2020年6月上旬)-冻结UA字符串中的 Chrome 浏览器版本,并统一操作系统版本的通用值。
  • Chrome 85 (2020年9月中旬)-统一 UA 桌面操作系统字符串,作为桌面浏览器的通用值。统一使用移动操作系统/设备字符串为通用值。