5熊猫网

 找回密码
 免费注册

QQ登录

只需一步,快速开始

开启左侧
查看: 75|回复: 0
 白唇鹿 发表于: 2021-12-29 08:39:00|显示全部楼层|阅读模式

[2021年] Chrome浏览器全球大翻车?「满100减90” 让20多亿用户无网可上

 [复制链接]
源自:创事记
  Chrome浏览器要翻车了?
  随着版本号即将达到100,谷歌浏览器遇到了一些意想不到的问题。
  而这可能会影响高达20多亿的用户。
7a33-7d359a837ccb776e4e9e363ba27feb2d.jpg
当然了,紧随其后的Firefox和Edge也不能幸免。
满100减90
  这个问题吧,倒不是说浏览器会闪退,只不过是失去了它原本的作用:访问网站罢了。
  当你使用Chrome 100时,网站一看,你这是个什么「老古董」?
  对不起,不支持,我拒绝。
7d56-a8816f654798dcceb73217c57455a6e7.png
对此谷歌表示,这一问题主要出现在与Duda合作开发的网站中,并已着手开始修复。
  原因其实很简单:版本号。
5d6d-a5b7875d01f96e67458d3b9e21cd33fa.png
大多数网站都会检查用户代理字符串来确定用户的浏览器版本。
  在Chrome浏览器中,以当前公共版本为例,这个用字符串表示的版本号的内容是:Chrome/96.0.4664.110。
  正常情况下,开发者不需要知道浏览器的具体版本。因此,Duda在默认情况下只会读取「Chrome/」后面的两个字符。
  比如,在「Chrome/96.0.4664.110」的例子中,Duda将只读取「96」。
4999-4bec32edb9db48ed54f89daa7fc17885.png
而「Chrome Canary」已经到了「99.0.4791.0」,那么Duda就只读取「99」。
3a73-02f9d59cef3e725a4f48b53a3ba73aad.png
这种读取方法是出于安全考虑,以阻止旧的、已经不予支持的Chrome浏览器访问(40及以上是一个常见的Chrome浏览器版本分界点)。
  这样的设计虽然简洁,但如此一来,Chrome 100只能被识别为Chrome 10。
  而最坑的是,Duda出于兼容性的考虑,会阻止版本低于40的Chrome浏览器打开网站,这样就会导致Chrome 100无法正常访问网站。
  为了避免这种尴尬的情况,网络开发者必须在Chrome 100推出之前找到一种方法,正确解析三位数的版本号。
1ab2-e7a0214fdc4d1a25be17b08a26cf70ad.png
不过,要寻找一个能够彻底修复这一漏洞的方法是很棘手的,而且时间已经不多了。
  因为谷歌公司开发Chrome浏览器的速度极为惊人,Chrome浏览器的版本号也在不断增加。
  根据目前的发布速度,Canary用户可能最快会在下个月就会遇到这个bug,而运行稳定版的数十亿用户也只剩3至6个月的时间了。
  这也就意味着,Chrome浏览器的用户需要为网络中断做好准备,或者在问题解决之前先用其他浏览器。
99.100先凑合用
  其实,在11月1日的时候,谷歌就发现这个潜在的问题了。
2360-6cb01c0b62ce10503b7b4f1d04d7f1ab.png
对此,谷歌为Chrome提供了一个测试flag,从而可以强制浏览器的版本号显示为100,以便于网站排查问题并为变化做好准备。
  只需在地址栏中输入chrome://flags并启用#force-major-version-to-100就可以了。
0aab-6e68ba02926278f4fcaf043e6e0cab29.png
不得不说,工程师的脑洞还真挺大。
  如果实在是不行的话,也不是没有办法!
  他们想出了一个能凑合用的方法:让Chrome浏览器版本的前两个数字锁定为99,然后将实际版本号放在第二组数字中。
  对于几乎没有机会更新的老网站来说,这招应该会非常有效。
  这样,用户代理字符串中表达版本号的内容将以「Chrome/99.100.XX」的形式呈现,从而解决了Duda的识别问题。
  此外,谷歌也在寻找有识别问题的网站,并试图与开发者取得联系,从而通过修改代码来解决问题。
66e1-1cb2d8136f2e466ecb97d6e734b06580.png
当然,这听起来肯定不是最优雅的解决方案。
  谷歌方面也把这个解决方案认定为一个「备份计划」。
  毕竟这个「备份计划」并不能覆盖所有情况,因为Duda可能并不是唯一出现问题的网络工具包。
  目前,谷歌希望能够明确地找到全网所有在Chrome 100发布时出现故障的网站,并就这个问题与它们的开发者联系。
626b-e8b15b11e75b268462870b5cdc83ee32.png
如果这些问题能在3月底Chrome 100发布前得到解决,那么对网络开发者来说就根本不需要改变什么。
  否则,Chrome就只能在用户代理字符串中增加新的内容。
谷歌的金丝雀
  Chrome有四个「发布渠道」:稳定版,测试版,开发版和金丝雀版。
  从为普通用户提供最稳定的版本的稳定版,到提供尖端功能和修复但更不稳定的金丝雀。
a651-aa1ca63c55608a64d13fc90e27e56967.png
煤矿工人过去下矿井时,他们带着一只金丝雀作为早期预警系统。如果金丝雀活下来,空气就可以安全呼吸。如果不安全,则是时候离开了。
7f79-48fd3314b640877029e9d36ef98f8977.jpg
技术圈的Canary正式来自「矿井里的金丝雀」这个谚语,指的是软件的alpha测试版本,谷歌浏览器也不例外。
  Chrome Canary中的一些修复和新功能在成为主要稳定版的一部分之前,将在开发和测试版进行全面测试。
  除了缺乏测试,并且可能没有修复所有错误之外,Canary仅仅是Chrome FROM THE FUTURE。
异曲同工的「千年虫」
  Y2K是2000年软件bug的通用缩写。
  该缩写中的字母Y代表「年」,数字2和大写的k代表kilo,意思是1000,因此,2K表示2000年。
  Y2K也被命名为「千年虫」,因为它与千禧年的时间戳有关。
d522-8ddac32860413109826468594790522d.png
在上个世纪,无论是大型计算机还是个人计算机,「存储信息」这一行为是非常昂贵的,少说也要每千字节10美元,在许多情况下甚至超过超过每千字节100美元。
  因此,对于程序员来说,最大限度地减少存储信息是非常重要的,能省1bit是1bit。
  所以,那时候的数据文件的日期格式是六位数字,形式为DDMMYY,日为两位数,月为两位数,年为两位数的YY。比如,1970年1月1日,就是700101。
  甚至,还有一种更短的表示方法「YYDDD」,其中DDD是一年中的天数。由于磁盘和磁带上的空间也很昂贵,因此通过减少存储日期的数据文件大小也节省了资金。
  可是,有些程序在面对两位数年份时,无法区分2000年和1900年。这便是「千年虫」的由来。
ceb0-746aecc7032ebd50b5b433230ce6bdcb.jpg
不过,有一个地区是例外。
  1999年年底,在全世界程序员在为千年虫问题焦虑的的时候,日本程序员却灵机一动:如果继续沿用昭和(1926年开始)年号的话,千年虫会足足延后到2025年。
  25年的时间总该可以解决这次的问题了。当然,如果真的打算解决的话……
  然而日本在2019年改元为令和时,不但要更改年号,而且昭和时代年号计算的「新千年虫」(昭和100年)马上就要来临。
  而且不幸的是,不少系统的源代码经过30至40年都已经丢失了。
  更加不巧的是,据说在日本IT界还有一个叫「2007年问题」的问题。
  也就是说,当年建立电脑系统的工程师,大部分都会集中在2007年退休。到现在,已经基本上没有多少人知道如何维护旧的系统了。
『 5熊猫网 』提醒,在使用本论坛之前您必须仔细阅读并同意下列条款:
  1. 遵守《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他各项有关法律法规,并遵守您在会员注册时已同意的《『 5熊猫网 』管理办法》;
  2. 严禁发表危害国家安全、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容;
  3. 本帖子由 白唇鹿 发表,享有版权和著作权(转帖除外),如需转载或引用本帖子中的图片和文字等内容时,必须事前征得 白唇鹿 的书面同意;
  4. 本帖子由 白唇鹿 发表,仅代表用户本人所为和观点,与『 5熊猫网 』的立场无关,白唇鹿 承担一切因您的行为而直接或间接导致的民事或刑事法律责任。
  5. 本帖子由 白唇鹿 发表,帖子内容(可能)转载自其它媒体,但并不代表『 5熊猫网 』赞同其观点和对其真实性负责。
  6. 本帖子由 白唇鹿 发表,如违规、或侵犯到任何版权问题,请立即举报,本论坛将及时删除并致歉。
  7. 『 5熊猫网 』管理员和版主有权不事先通知发帖者而删除其所发的帖子。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

© 2002-2025, 蜀ICP备12031014号, Powered by 5Panda
GMT+8, 2025-5-5 07:11, Processed in 0.046800 second(s), 9 queries, Gzip On, MemCache On
快速回复 返回顶部 返回列表