谷歌將逐步棄用 Chrome 中的 User-Agent 字符串

谷歌宣佈,將從 Chrome 81 開始,逐步淘汰 Chrome 瀏覽器中 User-Agent 字符串的使用。

User-Agent 字符串(以下簡稱 “UA 字符串”)是瀏覽器啟動連接時發送到網站的一段文本。它包含了有關瀏覽器類型、渲染引擎和操作系統等在內的詳細信息。例如,Windows 10 上用於 Firefox 的 UA 字符串如下所示:

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

UA 字符串在 90 年代作為 Netscape 瀏覽器的一部分被開發出來,並且一直沿用至今。根據谷歌的評估,多達 90% 的網站以各種方式閱讀和使用瀏覽器的用戶代理。它的最初目的是讓服務器確保用戶接收到的是針對特定瀏覽器需求進行過優化的頁面。可現如今,User-Agent 嗅探已成為不少隱私問題的根源,大量廣告商已將該字符串用作跟蹤和識別網站訪問者的方式。

不僅是隱私問題,UA 字符串還帶來了其他困擾。前不久,基於 Chromium 的瀏覽器 Vivaldi 偽造其用戶代理字符串以顯示成 Chrome,並稱原因是要解決一些無法解釋的錯誤,這些錯誤僅在瀏覽器被識別為 Vivaldi 時才會發生。

為了解決這些問題,谷歌表示計劃通過凍結整個標準來逐步淘汰 UA 字符串在 Chrome 中的重要性。長期來看,谷歌的計劃是將所有 Chrome UA 字符串統一為通用值,這些通用值不會透露太多有關用戶的具體信息。

谷歌針對當前 UA 字符串的處理步驟是這樣的:

  • Chrome 81(2020 年 3 月中旬)- 在 Chrome 控制檯中針對讀取 UA 字符串的網頁顯示警告,以便開發人員可以調整其網站代碼;
  • Chrome 83(2020 年 6 月上旬)- 凍結 UA 字符串中的 Chrome 瀏覽器版本,並統一操作系統版本的通用值;
  • Chrome 85(2020 年 9 月中旬)- 統一 UA 桌面操作系統字符串,作為桌面瀏覽器的通用值;統一使用移動操作系統/設備字符串為通用值。

早在 2017 年,蘋果公司就在 Safari 中嘗試完全凍結 User-Agent 字符串。但因為過於嚴格,導致開發人員無法獲得需要的信息,於是失敗告終。

此次谷歌提出了一個折衷方案,在棄用 User-Agent 字符串之前,Chrome 會引入一項稱為“ 用戶代理客戶端提示”(UA-CH)的新功能,以向網絡開發人員提供可能需要的信息,同時尊重用戶隱私。去年 8 月,谷歌宣告了“隱私沙箱”計劃,旨在開發一套開放標準,從根本上增強網絡隱私,新的“客戶端提示”機制已在該項目中啟動。

目前,Chrome 81 已經在 Canary 階段,並計劃於今年 3 月發佈。蘋果(Safari)、微軟(Edge)和 Mozilla(Firefox)也表示支持這一提議,並很可能在後續陸續採用同樣的方式來處理 User-Agent 字符串。


分享到:


相關文章: