」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Chrome、Safari 和 Firefox 中的用戶代理程式減少

Chrome、Safari 和 Firefox 中的用戶代理程式減少

發佈於2024-08-06
瀏覽:651

User Agent Reduction in Chrome, Safari & Firefox

簡介:什麼是用戶代理減少和客戶端提示?

近年來,隱私問題推動瀏覽器處理使用者代理字串的方式發生重大變化。傳統上用於識別瀏覽器和裝置資訊的使用者代理字串已被減少以限制共享的資訊量,從而保護使用者隱私。為了解決減少用戶代理的局限性,客戶端提示作為一種解決方案應運而生,提供了一種更受控且尊重隱私的方式來共享必要的資訊。

在此閱讀完整的部落格文章

用戶代理字串簡史

User-Agent 字串可以追溯到網頁瀏覽器的早期,從 Tim Berners-Lee 的 WorldWideWeb 開始。最初,它們很簡單,提供基本的瀏覽器和版本資訊。隨著時間的推移,它們逐漸演變為包含有關作業系統、裝置類型等的詳細數據,事實證明這對於網路分析和優化使用者體驗非常有用。然而,這項細節也啟用了設備指紋識別,引發了隱私問題。

什麼是用戶代理減少?

減少User-Agent旨在最大限度地減少User-Agent字串中的信息,以保護用戶隱私。減少了特定作業系統版本和硬體型號等高熵資訊。例如,Google 的 Chrome 現在報告不太詳細的用戶代理字串:

  • 之前:Mozilla/5.0(Linux;Android 13;Pixel 7)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/95.2.1.0 Mobile Safari/537.36 Safari
  • 之後:Mozilla/5.0(Linux;Android 10;K)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/95.0.0.0 Mobile Safari/537.36

類似地,Firefox 和 Safari 也實現了自己版本的用戶代理減少,儘管基於其獨特的策略略有不同。

客戶端提示如何發揮作用?

用戶端提示提供了一種以注重隱私的方式請求有關用戶設備和瀏覽器的特定高熵資訊的方法。存取客戶端提示有兩種主要方法:

  1. HTTP 請求標頭: 網站可以使用 HTTP 請求標頭請求有關使用者瀏覽器和裝置的特定資訊。這通常用於第一方環境,確保詳細的用戶資訊只能透過主網站訪問,而不能透過第三方資源訪問。
  2. JavaScript API: 用戶端提示也可以透過 JavaScript 中的 navigator.userAgentData 物件存取。這允許動態查詢特定信息,例如架構、模型和平台版本,而無需設置額外的標頭。

實施客戶端提示

使用 HTTP 請求標頭

要透過 HTTP 標頭實現客戶端提示,伺服器需要在 HTTP 回應中設定適當的標頭,向瀏覽器發出訊號以在將來的請求中包含這些提示。例如:

Accept-CH: Sec-CH-UA-Platform-Version

瀏覽器的後續請求將包含平台版本:

Sec-CH-UA-Platform-Version: "14.5.0"

使用 JavaScript API

對於動態應用程序,JavaScript API 提供了靈活性。例如,使用 getHighEntropyValues 方法:

if (navigator.userAgentData) {
    navigator.userAgentData.getHighEntropyValues(['architecture', 'model', 'platformVersion'])
        .then(ua => {
            console.log(ua);
        });
}

給開發者的建議

根據您的特定需求,您可以選擇不同的方式來收集使用者環境資料:

  • 特徵偵測:盡可能使用現有的瀏覽器JavaScript API。這比依賴用戶代理字串更可靠且面向未來。
  • 低熵信息: 對於設備類型等基本詳細信息,用戶代理字串可能仍然足夠。
  • 高熵資訊: 如果需要詳細資訊且您可以控制網域,請使用客戶端提示。

結論

用戶代理減少和客戶端提示代表了增強用戶隱私的重要步驟,同時仍允許網站收集必要的資訊以獲得最佳功能。透過理解和實施這些技術,開發人員可以平衡詳細使用者資料的需求與隱私和效能考量。

在我們詳細的部落格文章中了解更多。

版本聲明 本文轉載於:https://dev.to/corbado/user-agent-reduction-in-chrome-safari-firefox-3g6g?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3