Chrome:听说你们滥用 UA? 废了它!

Posted 前端开发博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chrome:听说你们滥用 UA? 废了它!相关的知识,希望对你有一定的参考价值。

关注公众号 前端开发博客,领27本电子书

回复加群,自助秒进前端群

今天给大家带来一则很不幸的消息,浏览器又搞事情了,可能又得改代码了...

User-Agent 可能是我们最常用到的 HTTP 请求头之一了,我们可以在里面取到很多有用的信息,比如浏览器版本、设备信息等等。

一般我们标识一个用户的身份时一般会去取里面的信息。另外排查问题的时候读取一些环境信息也很方便。

但是,由于它里面包含的信息太有用了,已经开始被滥用了。为了减轻 User-Agent 的身份标识作用, Chrome 正在逐步减少 User-Agent 中的信息。

如果你的业务里有用到,你可能得检查检查代码了... 因为你可能取不到你想要的信息了。

对我们意味着啥

以下几部分信息都会逐步缩减:

  • User-Agent HTTP 请求标头

  • javascript navigator.userAgentgetter

  • Javascript navigator.platformgetter

  • Javascript navigator.appVersiongetter

浏览器会推荐大家使用新的 User-Agent Client,里面只会包括下面几部分信息:

  • Sec-CH-UA: 浏览器名称和主要/重要版本

  • Sec-CH-UA-Mobile: 是否为移动设备

  • Sec-CH-UA-Platform: 操作系统名称

例如,Chrome/99.0.2345.12 这样的版本号将会被简化为 Chrome/99.0.0.0 ,这大大的减轻了 UA 对用户的身份标识作用。

具体减少计划

Chrome 92:使用 navigator.userAgent 、navigator.appVersionnavigator.platform 会在控制台打印警告。

Chrome 95:支持为的网站注册原始试用,开始对减少的 UA 字符串进行测试和反馈。

Chrome 101User-Agent 将会减少 Chrome MINOR.BUILD.PATCH 版本信息。推荐迁移到新的 User-Agent Client

Chrome 107:PC端的 User-Agent 字符串和 JS APInavigator.userAgent 、navigator.appVersion 、navigator.platform)将会直接缩减。

Chrome 110:移动端的的 User-Agent 字符串和 JS API 将会缩减。

Chrome 113:全面缩减。

最后

这个改动之后,一部分基于 UA 做身份标识的库和业务将会受到很大影响,大家提前注意一下。

更多推荐

Chrome 又搞事情,document.domain跨域直接废了

Chrome 89 更新事件触发顺序,导致99%的文章都错了(包括MDN)

最后

转发文章并关注公众号:前端开发博客,回复 1024,领取前端进阶资料

  1. 回复「电子书」领取27本精选电子书

  2. 回复「加群」加入前端大神交流群,一起学习进步

  3. 回复「面试」获取 面试 精选文章


分享和在看就是最大的支持❤️

以上是关于Chrome:听说你们滥用 UA? 废了它!的主要内容,如果未能解决你的问题,请参考以下文章

Chrome 又搞事情,​document.domain跨域直接废了

Chrome恶意插件:你的数据和机器都会在我手上

Nigelthorn恶意软件滥用Chrome扩展来加密挖矿和窃取数据

软件测试等于点点点?再点你怕不得废了...

当它引用 IE=edge,chrome=1 时,啥是 X-UA-Compatible?

用于拦截/修改 websockets UA 的 Chrome 扩展 API