User-Agent クライアントのヒント

概要

Web ブラウザーが Web サーバーに対してリクエストをおこなうたびに、リクエストのヘッダーには、ブラウザーと、ブラウザーが実行されている環境に関する情報が含まれます。 このすべてのデータは、 User-Agent 文字列。

次に例を示します。 User-Agent 文字列が、 Mac OS デバイス。

メモ

数年間で、に含まれるブラウザーおよびデバイス情報の量 User-Agent 文字列が複数回増え、変更されました。 次の例は、最も一般的な User-Agent 情報。

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36`
フィールド
ソフトウェア名 Chrome
ソフトウェアのバージョン 105
完全なソフトウェアのバージョン 105.0.0.0
レイアウトエンジン名 AppleWebKit
レイアウトエンジンのバージョン 537.36
オペレーティングシステム Mac OS X
オペレーティングシステムのバージョン 10.15.7
デバイス インテルMac OS X 10_15_7

ユースケース

User-Agent 文字列は、長い間、マーケティングチームや開発チームに対して、ブラウザー、オペレーティングシステムおよびデバイスでのサイトコンテンツの表示方法やユーザーの Web サイトとのやり取りに関する重要なインサイトを提供してきました。

User-Agent また、文字列は、スパムをブロックし、様々な追加目的でサイトをクロールするボットをフィルタリングするためにも使用されます。

User-Agent Adobe Experience Cloudの文字列

Adobe Experience Cloudソリューションは User-Agent 文字列を様々な方法で指定できます。

  • Adobe Analyticsは User-Agent 文字列を使用して、Web サイトの訪問に使用するオペレーティングシステム、ブラウザー、デバイスに関する追加情報を増補し、導き出します。
  • Adobe Audience ManagerとAdobe Targetは、 User-Agent 文字列。

User-Agent クライアントヒントの概要

近年、サイト所有者とマーケティングベンダーは User-Agent 文字列と、デジタルフィンガープリントを作成するためのリクエストヘッダーに含まれる他の情報。 これらの指紋は、知らないユーザーを識別する手段として使用できます。

という重要な目的にもかかわらず User-Agent 文字列はサイト所有者に役立ち、ブラウザ開発者は、 User-Agent 文字列は機能し、エンドユーザーにとって発生する可能性のあるプライバシーの問題を制限します。

彼らが開発した解は、と呼ばれる User-Agent クライアントのヒント. クライアントヒントを使用すると、Web サイトで必要なブラウザー、オペレーティングシステム、デバイスの情報を収集できるほか、フィンガープリントなどの変換トラッキング方法に対する保護も強化できます。

クライアントヒントを使用すると、Web サイトの所有者は、 User-Agent 文字列に基づいて書き込まれますが、よりプライバシーを保持する方法で書き込まれます。

最新のブラウザーでは、Web サーバーにユーザーを送信すると、 User-Agent 文字列は、必要かどうかに関係なく、リクエストごとに送信されます。 一方、クライアントヒントは、サーバがブラウザに対して、クライアントに関して知りたい追加情報を要求する必要があるモデルを適用します。 このリクエストを受け取ると、ブラウザーは独自のポリシーまたはユーザー設定を適用して、返されるデータを決定できます。 全体を公開する代わりに、 User-Agent 文字列は、すべてのリクエストでデフォルトで、明示的で監査可能な方法でアクセスを管理するようになりました。

ブラウザーのサポート

User-Agent クライアントのヒント が導入された Google Chrome ​バージョン 89。

追加の Chromium ベースのブラウザーは、次のようなクライアントヒント API をサポートしています。

  • Microsoft Edge
  • Opera
  • Brave
  • Chrome for Android
  • Opera for Android
  • Samsung Internet

カテゴリ

ユーザーエージェントクライアントヒントには次の 2 つのカテゴリがあります。

低エントロピークライアントヒント

低エントロピーのクライアントヒントには、ユーザーを指紋に使用できない基本情報が含まれます。 ブラウザーのブランド、プラットフォーム、リクエストがモバイルデバイスから送信されたかどうかなどの情報。

低エントロピーのクライアントヒントは、Web SDK ではデフォルトで有効になっており、リクエストごとに渡されます。

HTTP ヘッダー JavaScript デフォルトで User-Agent に含まれる デフォルトでクライアントヒントに含まれる
Sec-CH-UA brands
Sec-CH-UA-Platform platform
Sec-CH-UA-Mobile mobile

高エントロピーのクライアントヒント

高エントロピーのクライアントヒントは、プラットフォームのバージョン、アーキテクチャ、モデル、ビット数(64 ビットまたは 32 ビットプラットフォーム)、フルオペレーティングシステムのバージョンなど、クライアントデバイスに関する詳細な情報です。 この情報は、フィンガープリントで使用される可能性があります。

HTTP ヘッダー JavaScript デフォルトで User-Agent に含まれる デフォルトでクライアントヒントに含まれる
Sec-CH-UA-Platform-Version platformVersion ×
Sec-CH-UA-Arc architecture ×
Sec-CH-UA-Model model ×
Sec-CH-UA-Bitness Bitness ×
Sec-CH-UA-Full-Version-List fullVersionList ×

高エントロピーのクライアントヒントは、Web SDK ではデフォルトで無効になっています。 これらを有効にするには、高エントロピーのクライアントヒントを要求するように Web SDK を手動で設定する必要があります。

高エントロピーのクライアントヒントがExperience Cloud解に与える影響

一部のAdobe Experience Cloudソリューションは、レポート生成時に高エントロピーなクライアントヒントに含まれる情報に依存します。

お使いの環境で高エントロピーのクライアントヒントを有効にしない場合、以下に説明するAdobe AnalyticsとAudience Managerのレポートと特性は機能しません。

Adobe Analyticsは、高エントロピーなクライアントヒントに頼るレポートを作成

次のAdobe Analyticsレポートは、高エントロピーなクライアントヒントが無効な間は機能しません。

Audience Manager特性は高エントロピーのクライアントヒントに依存

Audience Manager特性で次のいずれかのプロパティを使用する場合は、高エントロピーのクライアントヒントを有効にする必要があります。 そうしないと、特性は機能しなくなります。

  • オペレーティングシステムのバージョン
  • デバイスモデル
  • デバイスの製造元
  • デバイスのベンダー

高エントロピーのクライアントヒントの有効化

Web SDK デプロイメントで高エントロピーのクライアントヒントを有効にするには、 highEntropyUserAgentHints コンテキストオプション ( 設定ドキュメント(既存の設定と共に)

例えば、Web プロパティから高エントロピーのクライアントヒントを取得する場合、設定は次のようになります。

context: ["highEntropyUserAgentHints", "web"]

ブラウザーが Web サーバーに対しておこなう最初のリクエストのヘッダーに含まれるクライアントヒントには、ブラウザーのブランド、ブラウザーのメジャーバージョンおよびクライアントがモバイルデバイスかどうかを示すインジケーターが含まれます。 データの各部分には、1 つのヘッダーにグループ化されるのではなく、独自のヘッダー値が割り当てられます User-Agent 文字列に含まれます。

Sec-CH-UA: "Chromium";v="101", "Google Chrome";v="101", " Not;A Brand";v="99"

Sec-CH-UA-Mobile: ?0

Sec-CH-UA-Platform: "macOS

同等の User-Agent 同じブラウザーのヘッダーは次のようになります。

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36

情報は似ていますが、サーバへの最初の要求にはクライアントのヒントが含まれます。 これらは、 User-Agent 文字列。 リクエストに見つからないのは、オペレーティングシステムのアーキテクチャ、完全なオペレーティングシステムのバージョン、レイアウトエンジン名、レイアウトエンジンのバージョン、完全なブラウザーのバージョンです。

ただし、以降のリクエストでは、 Client Hints API web サーバーがデバイスに関する追加の詳細を要求できるようにします。 これらの値が要求された場合、ブラウザーポリシーまたはユーザー設定に応じて、ブラウザーの応答にその情報が含まれる場合があります。

次に、 Client Hints API 高エントロピー値が要求される場合:

{
   "architecture":"x86",
   "bitness":"64",
   "brands":[
      {
         "brand":" Not A;Brand",
         "version":"99"
      },
      {
         "brand":"Chromium",
         "version":"100"
      },
      {
         "brand":"Google Chrome",
         "version":"100"
      }
   ],
   "fullVersionList":[
      {
         "brand":" Not A;Brand",
         "version":"99.0.0.0"
      },
      {
         "brand":"Chromium",
         "version":"100.0.4896.127"
      },
      {
         "brand":"Google Chrome",
         "version":"100.0.4896.127"
      }
   ],
   "mobile":false,
   "model":"",
   "platformVersion":"12.2.1"
}

このページ