User-Agent Reduction のサポート終了トライアル

ユーザー エージェントの情報量削減のサポート終了トライアルでは、サイトで UA 文字列の削減後も完全なユーザー エージェント文字列を引き続き受け取ることができました。トライアルは 2023 年 9 月 23 日に終了しました。

Chrome 101 以降、ユーザー エージェント(UA)文字列で取得できる情報は、段階的なアプローチにより削減されます。削減されたユーザー エージェント文字列の使用から移行し、ユーザー エージェント クライアント ヒントへの移行を行う時間がまだないサイトでは、サポート終了トライアルに参加してユーザー エージェント文字列全体を引き続き受け取ることができます。

非推奨トライアルへの登録は Chrome 100 ベータ版から開始されます。これにより、サイトは Chrome 101 リリースに先立って完全なユーザー エージェント文字列を受信できます。マイナー バージョンの文字列は削減されます。Stable チャンネルでリリースする前に Chrome 100 Beta のオリジン トライアルをテストする場合は、Chrome 100 のリリース日(現在は 2022 年 3 月 31 日を予定)より前に登録してテストしてください。

以下に、非推奨トライアルの概要と今後の見通しを示します。フィードバックがある場合や、このトライアル中に問題が発生した場合は、UA Reduction GitHub リポジトリからお知らせください。

ウェブ デベロッパーへの影響

サポート終了トライアルに登録すると、サイトは引き続き navigator.userAgent で完全な UA 文字列を受け取り、関連する navigator.platformnavigator.appVersion の JavaScript ゲッターで短縮されていない値を引き続き受け取ります。

  • User-Agent HTTP リクエスト ヘッダー
  • navigator.userAgent JavaScript ゲッター
  • navigator.platform JavaScript ゲッター
  • navigator.appVersion JavaScript ゲッター

サイトでは、User-Agent ヘッダーと関連 API の使用状況を引き続き監査する必要があります。また、必要に応じて、非推奨トライアル期間が終了する前に User-Agent Client Hints に移行する準備をしてください。User-Agent Reduction のロールアウトが完了すると、この非推奨トライアルが期限切れになります。

User-Agent Reduction のサポート終了トライアルに参加するにはどうすればよいですか?

トライアルに登録する

オリジン トライアルに登録してドメインのトークンを取得するには、ユーザー エージェント削減の非推奨トライアルのページにアクセスしてください。サードパーティの登録の場合は、[サードパーティの一致] チェックボックスをオンにしてください。

設定

トライアルに登録したら、HTTP レスポンス ヘッダーを次のように更新します。

  1. HTTP レスポンス ヘッダーに Origin-Trial: <ORIGIN TRIAL TOKEN> を追加します。<ORIGIN TRIAL TOKEN> には、オリジン トライアルの登録時に取得したトークンが含まれます。
  2. HTTP レスポンス ヘッダーに Accept-CH: Sec-CH-UA-Full を追加します。Accept-CH を設定すると、オリジンへの後続のリクエストでのみ、完全なユーザー エージェント文字列が送信されます。
  3. 最初のリクエストで完全なユーザー エージェント文字列が重要な場合は、HTTP レスポンス ヘッダーに Accept-CH ヘッダーと Origin-Trial ヘッダーに加えて Critical-CH: Sec-CH-UA-Full を追加します。
  4. データ削減の非推奨トライアルに参加する参加者には、すべてのサードパーティ ドメインに完全なユーザー エージェント文字列へのアクセスを許可することを推奨します。サードパーティ ドメインによる完全なユーザー エージェント文字列へのアクセスを拡張しない場合、独自の削減非推奨トライアルへの登録の有無にかかわらず、ユーザー エージェント文字列の完全なアクセスがブロックされます。ユーザー エージェント文字列によるサードパーティ ドメインへの完全なアクセスを許可するには、次の 2 つの方法があります。

    • 完全なユーザー エージェント文字列を受け取るサードパーティのドメインを含む Permissions-Policy ヘッダーを追加します。
      • すべてのサードパーティのドメインを許可するには、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 以降でウェブサイトを読み込み、引き続き完全なユーザー エージェント文字列を受信します。

デモ

トライアルのデモ(ソースコードと合わせて)については、https://uard-ot-demo.glitch.me をご覧ください。

トライアルが機能していることを確認するには、どうすればよいですか?

オリジン トライアルが機能していることを検証するには、リクエスト ヘッダーを調べて、次のことを確認します。

  1. User-Agent ヘッダーには完全版が含まれています。削減された値(削減されたユーザー エージェント文字列のサンプルのリストにあるもの)を含めることはできません。Chrome のマイナー バージョンの文字列を 0.0.0しないで、簡単に見分けることができます。
  2. Sec-CH-UA-Full ヘッダーが ?1 に設定されている。

オリジン トライアル トークンを含む初期レスポンスのヘッダーは次のようになります。

完全なユーザー エージェント文字列を含む後続のリクエスト ヘッダーは次のようになります。

User-Agent Reduction のサポート終了トライアルへの参加を停止するにはどうすればよいですか?

試用期間中はいつでも、参加を中止して、短縮されたユーザー エージェント文字列を受け取ることができます。参加を停止するには:

  1. HTTP レスポンスで、Sec-CH-UA-Full を含まない Accept-CH ヘッダーを送信します。サイトが他の Client Hints をリクエストしない場合は、空の値を持つ Accept-CH が有効な方法です。
  2. HTTP レスポンスから User-Agent Reduction の非推奨トライアルの Origin-Trial ヘッダーを削除します。
  3. 設定されている場合は、HTTP レスポンスの Critical-CH ヘッダーから Sec-CH-UA-Full を削除します。

このトライアルは、他のユーザー エージェントのオリジン トライアルとどう違うのですか?

Chrome では、ユーザー エージェントの情報量削減に関連するオリジン トライアルを 2 回実施しています。1 つ目は、User Agent Reduction オリジン トライアルです。サイトでは、削減されたユーザー エージェント文字列を受け取って、ユースケースをテストし、Chrome でデフォルトの動作になる前にフィードバックを提供することができました。

2 つ目は、サポート終了トライアルで、User-Agent Client Hints API への移行にもう少し時間がかかるサイトを対象としています。これにより、サイトで引き続き完全なユーザー エージェント文字列を受信できます。

非推奨トライアルはいつまで有効ですか?

User-Agent Reduction の非推奨トライアルは Chrome 100 から Chrome 115 で実施されます。Chrome 116 は、完全に削減されたユーザー エージェント文字列のみが送信される最初のリリースになります。

User-Agent Reduction のサポート終了トライアルに関するフィードバックを共有するにはどうすればよいですか?

問題やフィードバックがある場合は、User-Agent Reduction GitHub リポジトリに送信してください。