...

FireFox火狐浏览器无法上网原因查明:程序员大小写搞错了

2022-01-18

最近两天,在用 FireFox 火狐浏览器的用户可能会出现无法连接上网的问题,起初以为是新版升级的问题,还有人怪罪于 Win 系统,然而现在问题查明了,是火狐自己的问题,程序员将部分代码的大小写搞错了。

火狐浏览器前几天发布了 96.0 版,说是大幅减少了主线程负载,意味着可以明显降低对系统资源的占用,运行更快速、更流畅。

然而很多人升级之后发现无法连接上网,后面就排查了一系列问题,首先以为真凶是 FireFox 96.0 新版,结果发现 FireFox 95 及之前的版本也有问题。

还有原因归罪于 Windows 系统的补丁升级,结果也不是,另外还找了 DNS、云服务商等原因,也排除了。

最后发现问题跟 FireFox 的 HTTP3 有关,禁用之后就可以上网,真凶现在找到了,但到底是哪里的问题?Mozilla 基金会最后找到根源了——跟代码大小写有关。

据官方介绍,在解析 HTTP 标头时,FireFox 会用一个函数结束,该函数通常只处理大写的字段,如果是小写的字母那就会无法计算标头长度,从而导致 FireForx 代码陷入无限循环中。

找到问题之后,修复错误的过程也很简单,未来这个代码不会再区分大小写了。


来源:NetSmell