User-Agent 削減デプリケーショントライアル

完全な User-Agent 文字列を引き続き受信するには、登録してください。

公開日

翻訳先言語: English

Chrome 101 以降、User-Agent(UA)文字列で利用できる情報量は、段階的なアプローチに沿って削減されます。削減された User-Agent 文字列の使用から User-Agent Client Hints に移行する時間がないサイトは、デプリケーション トライアルに参加すると、完全な User-Agent 文字列を引き続き受け取ることができます。

デプリケーション トライアルへの登録は、Chrome 100 ベータ版から開始されます。これにより、マイナーバージョン文字列が削減される Chrome 101 リリースの前に、サイトは完全な User-Agent 文字列を受け取れるようになります。安定版チャンネルにリリースされる前に Chrome 100 ベータ版でオリジン トライアルをテストしたい場合は、必ず Chrome 100 のリリース日(現時点では 2022 年 3 月 31 日を予定)までに登録を済ませてテストしてください。

以下は、デプリケーション トライアルの概要と予想される内容です。共有するフィードバックがある場合、またはこのトライアル中にイシューが発生した場合は、UA Reduction GitHub リポジトリでお知らせください。

ウェブ開発者にとっての意味

デプリケーション トライアルに登録すると、サイトは引き続き navigator.userAgent で完全な UA 文字列を受け取り、関連する navigator.platform および navigator.appVersion JavaScript ゲッターで削減されていない値を受け取ることができます。

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

サイトは引き続き User-Agent ヘッダーと関連する API の使用状況を監査し、必要に応じてデプリケーション トライアルが終了する前に User-Agent Client Hints に移行する準備をする必要があります。User-Agent 削減のロールアウトが完了したら、このデプリケーション トライアルを終了することが目的です。

User-Agent 削減デプリケーション トライアルへの参加方法

トライアルに登録する

オリジントライアルに登録してドメインのトークンを取得するには、User Agent 削減デプリケーション トライアルのページにアクセスしてください。

セットアップ

トライアルに登録したら、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 文字列とともに最初のナビゲーションリクエストを再送信するには、Accept-CH ヘッダーと Origin-Trial ヘッダーの他に、Critical-CH: Sec-CH-UA-Full を HTTP レスポンスヘッダーに追加します。
  4. サードパーティのサブリソースリクエストでも完全な UA 文字列を受け取るようにするには、以下の 2 つのオプションがあります。
    • Permissions-Policy ヘッダーに完全な UA を受け取る必要があるサードパーティドメインを含めてそれを追加します。
      • サードパーティドメインの名前付きリストを許可するには、Permissions-Policy: ch-ua-full=(self "https://google.com") を追加します。
      • すべてのサードパーティドメインを許可するには、 Permissions-Policy: ch-ua-full=* を追加します。
    • Accept-CH メタタグに完全な UA を受け取る必要があるサードパーティドメインを含めてそれを追加します(Chrome 100 以降のみ)。
      • サードパーティドメインの名前付きリストを許可するには、<meta name="accept-ch" content="ch-ua-full=( https://google.com )"> を追加します。
      • メタタグの * を使用して、すべてのサードパーティドメインにデリゲートすることはできません。
  5. Chrome 100(またはそれ以降)でウェブサイトをロードし、完全な User-Agent 文字列を引き続き受け取ります。

デモ

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

トライアルの動作状況の確認方法

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

  1. User-Agent ヘッダーに完全なバージョンが含まれていること。削減された値(削減された User-Agent 文字列の例のリストにあります)が含まれていてはいけません。簡単には、Chrome のマイナーバージョン文字列が 0.0.0ではないこと確認してください。
  2. Sec-CH-UA-Full ヘッダーが ?1 に設定されていること。

origin-trial トークンを含む最初のレスポンスヘッダーは以下のようになります。

完全な User-Agent 文字列を含む後続のリクエストヘッダーは以下のようになります。

User-Agent 削減デプリケーション トライアルの中止方法

トライアル期間中の任意の時点で参加を中止すると、削減された User-Agent 文字列を受け取ることができます。参加を中止するには、以下のようにします。

  1. Accept-CH ヘッダーに Sec-CH-UA-Full含めずに、HTTP レスポンスを送信します。サイトが他の Client Hints をリクエストしない場合、空の値を持つ Accept-CH は、これを達成するための有効な方法です。
  2. User-Agent 削減デプリケーション トライアルの Origin-Trial ヘッダーを HTTP レスポンスから削除します。
  3. HTTP レスポンスの Critical-CH ヘッダーに Sec-CH-UA-Full が設定されている場合は、それを削除します。

このトライアルと他の User-Agent オリジントライアルとの違い

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

もう 1 つはこの記事で言及されているトライアルで、User-Agent Client Hints API への移行にもう少し時間が必要なサイトを対象としたデプリケーション トライアルです。これにより、サイトは引き続き完全な User-Agent 文字列を受信することができます。

デプリケーション トライアルの実施期間

UA 削減デプリケーション トライアルは、Chrome 100 から Chrome 112 まで実行されます。Chrome 113 は、完全に削減された User-Agent 文字列のみが送信される最初のリリースになります。

User-Agent 削減デプリケーショントライアルのフィードバックの共有方法

イシューやフィードバックについては、User-Agent Reduction GitHub リポジトリに送信してください。

公開日 記事を改善する

This site uses cookies to deliver and enhance the quality of its services and to analyze traffic. If you agree, cookies are also used to serve advertising and to personalize the content and advertisements that you see. Learn more about our use of cookies.