Chrome 開始測試三位數使用者代理,以檢查網站相容性

2021-09-27 11:00:24

在上個月,我們曾報道了 Mozilla 開始在 Firefox 上測試 "Firefox/100.0" 使用者代理,以避免 Firefox 瀏覽器在明年 3 月從現有的兩位數版本號升級至三位數時,可能出現的網站載入異常情況的發生()。

Chrome 目前最新的穩定版版本號已更新至 94,比 Firefox 目前的版本號(92)更加高。Chrome 作為目前使用者最多、市場佔有率最高的瀏覽器,如果沒有經過嚴謹的測試,在 Chrome 升級至 100 版本後,對使用者的影響範圍也會更加大。

近日,Google 將 Chrome 瀏覽器的使用者代理改為三位數的 "Chrome/100" 後,是否會導致那些只能將使用者代理解析為兩位數的網站出現網站功能異常。

使用者代理是網路瀏覽器使用的一個字串,其中包括關於該軟體的資訊,例如名稱、版本和使用的技術概要。當一個瀏覽器釋出新版本的時候,開發者也會增加使用者代理字串中的版本號。

以之前報道的 Mozilla Firefox 為例,它的使用者代理將會如下顯示:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0

Firefox 的使用者代理可以被拆分為以下幾個部分:

Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion

  • Mozilla/5.0 表明該瀏覽器與 Mozilla 相相容的通用字串。此欄位幾乎存在於現今所有瀏覽器的使用者代理之中;
  • platform 描述了瀏覽器所執行的本地作業系統平臺(例如:Windows、Mac、Linux 或 Android),以及其是否為移動裝置;
  • rv:geckoversion 顯示了 Gecko 的版本號。在最近幾個版本的瀏覽器中, geckoversion 與 firefoxversion 一致;
  • Gecko/geckotrail 標明瀏覽器基於 Gecko,在桌面端 geckotrail 的值恆為"20100101";
  • Firefox/firefoxversion 標明瀏覽器是 Firefox,並提供了版本號;

Chrome 的使用者代理結構與 Firefox 十分相似,對於 Chrome 94 而言,它的使用者代理是:

"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36

通過向網站傳送瀏覽器使用者代理,網站的開發人員可以通過使用者代理來改變網站或應用程式的功能,以適應各種瀏覽器的標準、特性和能力。如今 Google 還將 Chrome 的更新週期從此前的六週更改為四周,進一步加速了 Chrome 版本更替週期,針對三位數的使用者代理測試已刻不容緩。

開發者也可手動修改 Chrome 的使用者代理,以提前測試自己的網站是否會出現問題,及時做出調整。

 

展開閱讀全文