当前位置: 首页 > 科技观察

FireFox不能上网的原因查出来了:程序员大写错误

时间:2023-03-13 12:53:50 科技观察

这两天使用FireFox浏览器的用户可能会出现无法上网的问题。一开始他们以为是新版本升级的问题。有人指责Win系统,现在问题已经确定了,是Firefox自己的问题,程序员把一些代码的大小写弄错了。火狐浏览器日前发布了96.0版本,称其大大降低了主线程的负载,这意味着可以显着降低对系统资源的占用,运行速度更快更流畅。但是,很多人发现升级后无法上网,于是排查了一系列的问题。首先,他们认为真正的罪魁祸首是新版本的FireFox96.0,但后来发现FireFox95及之前的版本也有问题。另一个原因归咎于Windows系统的补丁升级,结果却不是。此外,还发现了DNS、云服务商等原因,同样排除。最后发现问题与FireFox的HTTP3有关。禁用后就可以上网了。现在真凶找到了,但问题出在哪里呢?Mozilla基金会终于找到了根本原因——与代码的大写有关。据官方介绍,FireFox在解析HTTP头时,会以一个函数结尾,通常只处理大写字段。如果是小写字母,将无法计算出header的长度,从而导致FireForx代码陷入死循环。找到问题后,修复错误的过程也很简单。将来,此代码将不再区分大小写。