使用者代理程式縮減淘汰試用計畫允許網站在減少通用 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.platform
和 navigator.appVersion
JavaScript getter 中未縮減的值:
User-Agent
HTTP 要求標頭navigator.userAgent
JavaScript getternavigator.platform
JavaScript getternavigator.appVersion
JavaScript getter
網站仍應稽核自身的 User-Agent 標頭和相關 API 使用情形,並視需要在淘汰試用期結束前遷移至 User-Agent Client Hints。我們希望在使用者代理程式縮減推出後,讓此淘汰試用計畫失效。
如何參與使用者代理程式縮減淘汰試用計畫?
註冊試用
如要註冊來源試用並取得網域權杖,請前往使用者代理程式縮減淘汰試用頁面。如果您要註冊第三方,請勾選「第三方比對」。
設定
註冊試用後,請將 HTTP 回應標頭更新為以下內容:
- 將
Origin-Trial: <ORIGIN TRIAL TOKEN>
新增至 HTTP 回應標頭。<ORIGIN TRIAL TOKEN
> 包含您註冊來源試用時取得的權杖。 - 將
Accept-CH: Sec-CH-UA-Full
新增至 HTTP 回應標頭。如果設定Accept-CH
,只有在後續向來源發出要求時,才會傳送完整的 User-Agent 字串。 - 如果完整的 User-Agent 字串對於第一個要求至關重要,請將
Critical-CH: Sec-CH-UA-Full
新增至 HTTP 回應標頭,以及Accept-CH
和Origin-Trial
標頭。 加入縮減淘汰試用計畫的參與者,我們建議允許所有第三方網域存取完整的 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">
。 - 您無法透過中繼標記中的
*
委派給所有第三方網域。
- 如要允許第三方網域的已命名清單,請新增
- 新增
在 Chrome 100 以上版本中載入您的網站,並繼續接收完整的 User-Agent 字串。
示範
如需試用示範和原始碼,請前往 https://uard-ot-demo.glitch.me。
如何驗證試用方案是否正常運作?
如要驗證來源試用是否正常運作,請檢查要求標頭,確認下列事項:
- User-Agent 標頭包含完整版本。不應包含任何減少的值 (請參閱減少的使用者代理程式字串範例清單)。有一個簡單的做法是,Chrome 子版本字串「不得」為
0.0.0
。 Sec-CH-UA-Full
標頭已設為?1
。
包含來源試用權杖的初始回應標頭應如下所示:
包含完整 User-Agent 字串的後續要求標頭看起來應該像這樣:
如何停止參與使用者代理程式縮減淘汰試用計畫?
試用期間,您可以隨時停止參與,並收到縮短的 User-Agent 字串。如要停止參與,請按照下列步驟操作:
- 在 HTTP 回應中傳送「不含」
Sec-CH-UA-Full
的Accept-CH
標頭。請注意,如果您的網站並未要求任何其他用戶端提示,在Accept-CH
中加入空白值是可行的作法。 - 從 HTTP 回應中移除 User-Agent 縮減試用期的
Origin-Trial
標頭。 - 如果有設定,請從 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 存放區提交。