使用者代理程式縮減淘汰試用方案

使用者代理程式縮減淘汰試用計畫允許網站在減少通用 Analytics (分析) 字串後,繼續接收完整的使用者代理程式字串。試用期已於 2023 年 9 月 23 日結束,

從 Chrome 101 版開始,使用者代理程式 (UA) 字串中提供的資訊將分階段使用。如果網站沒有時間改用縮短的「使用者代理程式」字串,並改用 User-Agent Client Hints,可以參加淘汰試用計畫,這樣就能繼續收到完整的 User-Agent 字串。

進入淘汰試用計畫的作業將於 Chrome 100 Beta 版開始。這樣一來,網站就能在 Chrome 101 版本推出之前接收完整的 User-Agent 字串,屆時子版本字串會減少。如果想在 Chrome 100 Beta 版發布到穩定版之前進行測試,請務必在 Chrome 100 發布日前完成註冊及測試 (目前預計於 2022 年 3 月 31 日)。

以下是淘汰試用計畫和注意事項。如有任何意見或想法,歡迎透過通用 Analytics (分析) 縮減 GitHub 存放區告訴我們。

這對網頁程式開發人員有何影響?

註冊淘汰試用計畫後,網站將繼續在 navigator.userAgent 中收到完整的通用 Analytics (分析) 字串,以及在相關的 navigator.platformnavigator.appVersion JavaScript getter 中未縮減的值:

  • User-Agent HTTP 要求標頭
  • navigator.userAgent JavaScript getter
  • navigator.platform JavaScript getter
  • navigator.appVersion JavaScript getter

網站仍應稽核自身的 User-Agent 標頭和相關 API 使用情形,並視需要在淘汰試用期結束前遷移至 User-Agent Client Hints。我們希望在使用者代理程式縮減推出後,讓此淘汰試用計畫失效。

如何參與使用者代理程式縮減淘汰試用計畫?

註冊試用

如要註冊來源試用並取得網域權杖,請前往使用者代理程式縮減淘汰試用頁面。如果您要註冊第三方,請勾選「第三方比對」。

設定

註冊試用後,請將 HTTP 回應標頭更新為以下內容:

  1. Origin-Trial: <ORIGIN TRIAL TOKEN> 新增至 HTTP 回應標頭。<ORIGIN TRIAL TOKEN> 包含您註冊來源試用時取得的權杖。
  2. Accept-CH: Sec-CH-UA-Full 新增至 HTTP 回應標頭。如果設定 Accept-CH,只有在後續向來源發出要求時,才會傳送完整的 User-Agent 字串。
  3. 如果完整的 User-Agent 字串對於第一個要求至關重要,請將 Critical-CH: Sec-CH-UA-Full 新增至 HTTP 回應標頭,以及 Accept-CHOrigin-Trial 標頭。
  4. 加入縮減淘汰試用計畫的參與者,我們建議允許所有第三方網域存取完整的 User-Agent 字串。如果不允許第三方網域存取完整的 User-Agent 字串,則無論使用者代理程式的縮減試用註冊為何,都會封鎖完整的 User-Agent 字串存取權。您可以透過下列任一方式,允許完整的 User-Agent 字串存取第三方網域:

    • 新增 Permissions-Policy 標頭,內含應接收完整 User-Agent 字串的第三方網域。
      • 如要允許所有第三方網域,請新增 Permissions-Policy: ch-ua-full=*
      • 如要允許第三方網域的已命名清單,請新增 Permissions-Policy: ch-ua-full=(self "https://thirdparty.example.com")
    • 替應接收完整使用者代理程式字串的第三方網域新增 Accept-CH 中繼標記 (僅適用於 Chrome 100 以上版本)。
      • 如要允許第三方網域的已命名清單,請新增 <meta http-equiv="delegate-ch" value="sec-ch-ua-full https://thirdparty.example.com">
      • 您無法透過中繼標記中的 * 委派給所有第三方網域。
  5. 在 Chrome 100 以上版本中載入您的網站,並繼續接收完整的 User-Agent 字串。

示範

如需試用示範和原始碼,請前往 https://uard-ot-demo.glitch.me

如何驗證試用方案是否正常運作?

如要驗證來源試用是否正常運作,請檢查要求標頭,確認下列事項:

  1. User-Agent 標頭包含完整版本。不應包含任何減少的值 (請參閱減少的使用者代理程式字串範例清單)。有一個簡單的做法是,Chrome 子版本字串「不得」0.0.0
  2. Sec-CH-UA-Full 標頭已設為 ?1

包含來源試用權杖的初始回應標頭應如下所示:

包含完整 User-Agent 字串的後續要求標頭看起來應該像這樣:

如何停止參與使用者代理程式縮減淘汰試用計畫?

試用期間,您可以隨時停止參與,並收到縮短的 User-Agent 字串。如要停止參與,請按照下列步驟操作:

  1. 在 HTTP 回應中傳送「不含」 Sec-CH-UA-FullAccept-CH 標頭。請注意,如果您的網站並未要求任何其他用戶端提示,在 Accept-CH 中加入空白值是可行的作法。
  2. 從 HTTP 回應中移除 User-Agent 縮減試用期的 Origin-Trial 標頭。
  3. 如果有設定,請從 HTTP 回應中 Critical-CH 標頭中移除 Sec-CH-UA-Full

此試用方案與其他 User-Agent 來源試用有何不同?

Chrome 正在執行兩項來源試用,目標是降低使用者代理程式。其第一項是使用者代理程式縮減來源試用,讓網站能夠在成為 Chrome 預設行為前,接收縮短的使用者代理程式字串來測試其用途並提供意見回饋。

第二個重點是提供淘汰試用計畫,適用於需要更多時間才能遷移至 User-Agent Client Hints API 的網站。可讓網站繼續接收完整的 User-Agent 字串。

淘汰試用計畫會持續多久?

User-Agent Reduction 淘汰試用會從 Chrome 100 版開始,並於 Chrome 115 版結束。Chrome 116 將是第一個版本,只會傳送完整較小的使用者代理程式字串。

如何針對使用者代理程式縮減淘汰計畫提供意見?

如有任何問題或意見回饋,請前往 User-Agent Reduction GitHub 存放區提交。