Firefox無法上網原因查明:程序員搞錯大小寫
最近兩天,在用FireFox火狐瀏覽器的用戶可能會出現無法連接上網的問題,起初以為是新版升級的問題,還有人怪罪於Win系統,然而現在問題查明了,是火狐自己的問題,程序員將部分代碼的大小寫搞錯了。
Firefox瀏覽器前幾天發布了96.0版,說是大幅減少了主線程負載,意味著可以明顯降低對系統資源的佔用,運行更快速、更流暢。
然而很多人升級之後發現無法連接上網,後面就排查了一系列問題,首先以為真兇是Firefox 96.0新版,結果發現Firefox 95及之前的版本也有問題。
還有原因歸罪於Windows系統的補丁升級,結果也不是,另外還找了DNS、雲服務商等原因,也排除了。
最後發現問題跟Firefox的HTTP3有關,禁用之後就可以上網,真兇現在找到了,但到底是哪裡的問題?Mozilla 基金會最後找到根源了——跟代碼大小寫有關。
據官方介紹,在解析HTTP標頭時,Firefox會用一個函數結束,該函數通常只處理大寫的字段,如果是小寫的字母那就會無法計算標頭長度,從而導致FireForx代碼陷入無限循環中。
找到問題之後,修復錯誤的過程也很簡單,未來這個代碼不會再區分大小寫了。