2

Chrome 和 Firefox 的 100 版本号会带来什么问题?

 2 years ago
source link: https://os.51cto.com/article/701906.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Chrome 和 Firefox 的 100 版本号会带来什么问题?-51CTO.COM
Chrome 和 Firefox 的 100 版本号会带来什么问题?
作者:OSCHINA 2022-02-18 10:46:28
Firefox 和 Chrome 都在进行实验,尝试把当前版本的浏览器的主要版本号设置成 100,以检测网站可能出现的问题。

随着双方互飙版本号,Chrome 和 Firefox 的开发人员均表达出对 100 以上的三位数版本号的担忧。

12 年前,当时流行的浏览器在首次达到版本 10 时,由于主要版本号从一位数变为两位数,在 User-Agent 解析库中发现了许多问题。在没有规范可遵循的情况下,不同的浏览器对 User-Agent 字符串和特定于站点的 User-Agent 解析具有不同的格式。

128f5aa140cbf738e4c074226544cc1d849178.jpg

此外,由于没有考虑到三位主要版本号,一些 UA 解析库可能有编码逻辑上的错误。不过当年浏览器版本号从一位数变成两位数时,许多 UA 解析库都改进了解析逻辑,因此,三位数的版本号在 UA 解析库中应该不会出什么问题。

Chrome 团队的工程师 Mike Taylor 对常见的 UA 解析库进行了调查,但没有发现任何问题。在现场运行 Chrome 实验时发现了一些问题,这些问题正在解决中。

Firefox 和 Chrome 都在进行实验,尝试把当前版本的浏览器的主要版本号设置成 100,以检测网站可能出现的问题。这类实验找到了一些可能出现的问题,其中一部分已经修复,实验将继续运行,直到版本 100 发布。

除此之外,每个浏览器厂商都对 100 版本号制定了备份的缓解策略,以防止 100 版发布到稳定渠道后突发恶疾,对一些网站造成不可逆的伤害。

Firefox 缓解

在 Firefox 中,缓解策略将取决于损坏的重要性。

Firefox 有一个站点干预机制,Mozilla webcompat 团队可以使用这种机制在 Firefox 中热修复损坏的网站。在 Firefox URL 栏中输入内容 about:compat就可以看到当前正在修复的内容。

如果站点在特定域上的主要版本为 100 时中断,则可以通过发送 版本 99 来修复它。如果破坏范围很广,并且个别站点的干预变得难以管理,Mozilla 可以将 Firefox 的主要版本暂时冻结在 99,然后测试其他选项。

Chrome 缓解

Chrome 版本中报告的 User-Agent 字符串遵循该模式: ...(主要版本号_次要版本号_构建号_补丁号)。

目前在 Chrome 中的备用方案是直接将 User-Agent 字符串中的主要版本号冻结在 99,然后在次要版本部分报告真正的主要版本号(相关代码已经登陆)。如果使用备份计划,则 Chrome 101 版本 的 User-Agent 字符串将如下所示:99.101.4988.0 ,99

由于 Chrome UA 字符串中的次要版本号很长一段时间都是 0,所以 Chrome 还在进行实验,以确保次要版本号部分写三位数的值不会导致 Bug。

Chrome 团队将根据报告的问题的数量和严重程度决定是否使用备份选项。

用户可参与测试

在 Chrome 和 Firefox Nightly 中,用户也可以手动把浏览器的版本号改成 100 ,然后测试日常使用有没有问题。

Firefox Nightly:

  • 打开 Firefox Nightly 的设置菜单。
  • 搜索“Firefox 100”,然后选中“Firefox 100 User-Agent String”选项。

Chrome:

(1)URL 栏输入 chrome://flags/#force-major-version-to-100

(2)将选项设置为“启用”。

  • 如果你是网站维护者,请使用 Chrome 和 Firefox 100 测试网站,检查 User-Agent 解析代码和库,并确保它们能够处理三位数的版本号,在此可查看目前正在受影响的网站模式。
  • 如果你开发一个 User-Agent 解析库,添加测试来解析大于等于 100 的版本号。浏览器厂商早期的测试表明,最新版本的 UA 解析库都可以正确处理它。但如果你有旧版本的解析库,是时候检查并升级了。
  • 如果你是浏览器用户,在浏览网页时发现主要版本 100 有任何问题,请在 webcompat.com 上提交报告。
责任编辑:赵宁宁 来源: OSCHINA
zanpc.bd208a1.pngzanpchover.fdd60ba.png
weixin.23cd8b3.png 分享到微信
weibo.16d6b4f.png 分享到微博

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK