首頁 > web前端 > js教程 > 主體

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

王林
發布: 2024-08-06 17:06:39
原創
911 人瀏覽過

User Agent Reduction in Chrome, Safari & Firefox

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

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

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

用戶代理字串簡史

使用者代理字串可以追溯到網頁瀏覽器的早期,從 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
  • 之後: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。這比依賴用戶代理字串更可靠且面向未來。
  • 低熵信息:對於設備類型等基本詳細信息,用戶代理字串可能仍然足夠。
  • 高熵資訊:如果需要詳細資訊且您可以控制網域,請使用客戶端提示。

結論

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

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

以上是Chrome、Safari 和 Firefox 中的使用者代理程式減少的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!