Chrome 與 Firefox 版本號到達 100 可能造成網站無法正常運作

最近有一個議題滿有趣的,事隔這麼多年 Chrome 與 Firefox 到達版本號 100 的時候了,還記得在 Chrome 版本 9 更新到 10 的時候造成了很多伺服器出現問題。在多年後又到了 99 版本要更新到 100 版本的時候了,很多的伺服器在處理 User Agent 可能就會有錯誤發生畢竟它變成三位數了。

User Agent 版本號

我們可以觀察一下 User Agent 版本的變化,可以在下方發現 Chrome/98.0.4758.102 會變成 Chrome/100.0.4758.109 如果 Agent 的 parse 沒有處理好就可能發生問題。

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4758.109 Safari/537.36

而要檢查自己的 Chrome 版本號可以用這個小工具來檢查 https://is-chrome-100-yet.glitch.me/

如下是一個 98 版本的樣子

而如下是一個 100 版本的樣子

User Agent 偽裝

為了避免伺服器端發生 100 版號發生的問題 Chrome 與 Firefox 合作了一個計畫是,如果使用 100 版本號的 User-Agent 傳送給伺服器得不到回應就會改使用 99 版號在發送一次請求,可以說是很貼心。

預先測試 Chrome 100 版號與 Firefox 100 版號

因此在到達 100 版本之前應該先在自己的伺服器先試試看會不會有這個問題,提前處理它 Chrome 與 Firefox 都有一個可以預先開啟 100 版號的功能。

Firefox

在 Firefox 可以下載 Firefox Nightly 然後開啟設定,搜尋 “Firefox 100” 檢查 “Firefox 100 User-Agent String” 開啟它

Chrome

而 Chrome 可以開啟 “chrome://flags/#force-major-version-to-100” 設定 “Enabled”

更新時間

在更新到 100 版本前還有滿多時間可以測試的,可以注意 Chrome 與 Firefox 的更新時間提前做好測試

Chrome 100 版本

預計在 2022 年 3 月 29 日更新
https://chromiumdash.appspot.com/schedule

Firefox 100 版本

預計在 2022 年 5 月 3 日日更新
https://wiki.mozilla.org/Release_Management/Calendar

參考資料