用了几十年的浏览器 user-agent 要退出历史舞台了?看看 Google 怎么说

更新日期: 2020-01-19阅读: 2.5k标签: 浏览器

Google 近日宣布,计划在 Chrome 浏览器上逐步淘汰 user-agent 字符串。

这里稍微解释下,user-agent (UA,用户代理) 字符串是现代 web 和浏览器功能的重要组成部分。

UA 字符串是浏览器建立连接时向网站发送的一段文本。UA 字符串包含了浏览器类型、渲染引擎和操作系统等详细信息。例如,Windows 10 上的 Firefox 浏览器 UA 是这样的:

*Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/72.0*

UA 在90年代作为 Netscape 浏览器的一部分被开发出来,一直沿用至今。几十年来,各种网站都在利用 UA 字符串,根据访客的客户端情况调整功能特性。

但是现在,谷歌表示这个曾经有用的机制已经成为各种问题的持续来源。

首先,UA字符串已经被在线广告商用来跟踪和识别网站访客。

“这些隐私问题中最严重的是,用户代理嗅探是兼容性问题的多数来源,尤其是小众浏览器,会统一或针对特定网站谎报UA,一些网站(包括谷歌的网站)在某些浏览器上毫无理由的崩溃。”为 Chrome 浏览器工作的谷歌工程师 Yoav Weiss 说到。

为了解决这些问题,谷歌计划通过冻结整个标准来逐步消除 UA 字符串在 Chrome 中的重要性。


计划

Google 的计划是停止更新 Chrome 的 UA 字符串内容。

长期的计划是将所有的 Chrome UA 字符串统一为通用值,这样就不会泄露太多用户信息。

这意味着在新的平台上发布的新 Chrome 浏览器,比如在新的智能手机型号或新的操作系统版本上,将使用通用的 UA 字符串,而不是为特定平台定制的。

例如,在未来,一个网站将无法区分使用 Chrome 的访客是在 Windows 7 还是 Windows 11上运行 Chrome,或者 Chrome 移动用户是在使用三星 Galaxy 手机还是 Pixel 9 手机。

网站只能够识别用户是否在运行 Chrome,以及他们是否在桌面或移动设备上,但仅此而已。

为了历史遗留目的,现有的 Chrome UA 字符串将继续工作,所以它们不会破坏运行在整个web上现有的技术和脚本。

下面是谷歌目前弃用 UA 字符串的计划:

  • Chrome 81 (2020 3月中旬) - 谷歌计划在 Chrome 控制台中为读取 UA 字符串的网页显示警告,这样开发者可以调整网站代码
  • Chrome 83 (2020 6月初) - 谷歌将在 UA 字符串中固定 Chrome 浏览器版本并统一操作系统版本
  • Chrome 85 (2020 9月中旬) - 谷歌将统一桌面操作系统 UA 字符串作为桌面浏览器的通用值。谷歌还将统一移动操作系统/设备字符串作为一个类似的通用值。

再见,UA字符串!你好,CLIENT HINTS!

对 UA 字符串机制的弃用是谷歌改善网络隐私的努力的一部分,但不会扼杀网络广告,而广告是当今大多数免费网站的命脉。

Chrome 中的 UA 字符串将被一个名为Client hint 的新机制取代。通过这种机制,网站可以请求关于用户的信息,但没有“历史包袱和古老的User-Agent 标头暴露的被动指纹信息”,官方标准是这样写的。

Client Hints 已经被开发为谷歌的Privacy Sandbox项目的一部分,该项目于去年8月份宣布。

Privacy Sandbox 技术栈旨在为网站和广告商提供一种方式,使他们能够在浏览器中查询用户详细信息,同时又不会暴露太多用户信息。

通过 Privacy Sandbox,浏览器将分享足够的用户信息,这样广告商就可以将用户分组了,而不是创建详细的个人资料。

弃用 UA 字符串改用 Client Hints 是谷歌实现 Chrome Privacy Sandbox 的第一步,这也是谷歌去年夏天承诺的。

苹果(Safari)、微软(Edge)和 Mozilla (Firefox)也表示支持谷歌冻结和逐步取消用户代理字符串的提议,但在撰写本文时尚未宣布具体计划。

来源: zdnet.com
翻译整理:1024译站 

 

链接: https://www.fly63.com/article/detial/7315

浏览器禁用了javascript,各种浏览器如何开启javascript的方法总汇

您的浏览器禁用了JS脚本运行,请启用该功能。怎么解除浏览器禁用js?这篇文章将总结整理各个浏览器如何开启、禁用javascript的方法总汇。

浏览器的回流与重绘 (Reflow & Repaint)

浏览器使用流式布局模型 (Flow Based Layout)。浏览器会把HTML解析成DOM,把CSS解析成CSSOM,DOM和CSSOM合并就产生了Render Tree。有了RenderTree,我们就知道了所有节点的样式,然后计算他们在页面上的大小和位置,最后把节点绘制到页面上。

IE6浏览器有哪些常见的bug,以及解决IE6常用bug的方法

IE6不支持min-height,解决办法使用css hack,ol内li的序号全为1,不递增。解决方法:为li设置样式display: list-item;定位父元素overflow: auto;,包含position: relative;子元素,子元素高于父元素时会溢出。解决办法:

css重设样式_清除浏览器的默认样式

由于不同的浏览器默认的样式也不同,所以在网页开发前设置一个公用样式,来清除各个浏览器的默认样式,已达到做的网页在各个浏览器中达到统一。

浏览器访问一个网站所经历的步骤

浏览器访问网站的步骤:Chrome搜索自身的DNS缓存、读取本地HOST文件、浏览器发起一个DNS的一个系统调用、浏览器获得域名对应的IP地址后,发起HTTP三次握手、TCP/IP连接建立起来、服务器端接受到了这个请求、浏览器根据拿到的资源对页面进行渲染

一个新式的基于文本的浏览器 Browsh

Browsh是一个纯文本浏览器,可以运行在大多数的TTY终端环境和任何浏览器。目前,终端客户端比浏览器客户端更先进。终端客户端即时更新和交付,以便于体验新的功能,例如,你可以观看视频。

浏览器内核有哪些?主流浏览器的所使用的内核介绍

一般说的浏览器内核是指浏览器最重要的核心部分,RenderingEngine,翻译成中文大概意思就是“解释引擎”,我们一般称为浏览器内核。由于不同的内核各自有一套自己的渲染网页和解释页面代码的机制,所以就会有一些问题存在。

程序员眼中的浏览器是什么样的?IE:有本事你卸了我啊

主流浏览器之争从上个世纪开就开始,已经持续了很长的时间。人们都在笑话IE,纷纷转向其它浏览器。今天,我向大家分享一下针对IE的搞笑图片,只是逗乐而已,喝杯咖啡,坐下来慢慢享受吧。

精打细算浏览器空闲时间

有时候我们希望在浏览器中执行一些低优先级的任务,比如记录统计数据、做一些耗时的数据处理等,暂且将其称为后台任务。这些任务跟动画计算、合成帧、响应用户输入等高优先级的任务共享主线程

深入浏览器事件循环的本质

浏览器的事件循环,前端再熟悉不过了,每天都会接触的东西。但我以前一直都是死记硬背:事件任务队列分为macrotask和microtask,浏览器先从macrotask取出一个任务执行,再执行microtask内的所有任务,接着又去macrotask取出一个任务执行

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!