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 また、文字列は、スパムをブロックし、様々な追加目的でサイトをクロールするボットをフィルタリングするためにも使用されます。
Adobe Experience Cloudソリューションは User-Agent 文字列を様々な方法で指定できます。
近年、サイト所有者とマーケティングベンダーは User-Agent 文字列と、デジタルフィンガープリントを作成するためのリクエストヘッダーに含まれる他の情報。 これらの指紋は、知らないユーザーを識別する手段として使用できます。
という重要な目的にもかかわらず User-Agent 文字列はサイト所有者に役立ち、ブラウザ開発者は、 User-Agent 文字列は機能し、エンドユーザーにとって発生する可能性のあるプライバシーの問題を制限します。
彼らが開発した解は、と呼ばれる User-Agent クライアントのヒント. クライアントヒントを使用すると、Web サイトで必要なブラウザー、オペレーティングシステム、デバイスの情報を収集できるほか、フィンガープリントなどの変換トラッキング方法に対する保護も強化できます。
Client Hints は、web サイト所有者に、User-Agent 文字列で利用できるのとほぼ同じ量の情報に、よりプライバシーが保護された方法でアクセスできます。
最新のブラウザーでは、Web サーバーにユーザーを送信すると、 User-Agent 文字列は、必要かどうかに関係なく、リクエストごとに送信されます。 一方、クライアントヒントは、サーバがブラウザに対して、クライアントに関して知りたい追加情報を要求する必要があるモデルを適用します。 このリクエストを受け取ると、ブラウザーは独自のポリシーまたはユーザー設定を適用して、返されるデータを決定できます。 全体を公開する代わりに、 User-Agent 文字列は、すべてのリクエストでデフォルトで、明示的で監査可能な方法でアクセスを管理するようになりました。
User-Agent クライアントのヒント が導入された Google Chrome バージョン 89。
追加の Chromium ベースのブラウザーは、次のようなクライアントヒント API をサポートしています。
ユーザーエージェントクライアントヒントには次の 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 を手動で設定する必要があります。
一部のAdobe Experience Cloudソリューションは、レポート生成時に高エントロピーなクライアントヒントに含まれる情報に依存します。
お使いの環境で高エントロピーのクライアントヒントを有効にしない場合、以下に説明するAdobe AnalyticsとAudience Managerのレポートと特性は機能しません。
この オペレーティングシステム ディメンションには、高エントロピーのクライアントヒントとして保存されるオペレーティングシステムバージョンが含まれます。 高エントロピーのクライアントヒントが有効になっていない場合、Chromium ブラウザーから収集されたヒットに対して、オペレーティングシステムのバージョンが不正確になる可能性があります。
Google は更新済みです Chrome ブラウザー機能を使用して、 User-Agent
ヘッダー。 その結果、を使用してAudience Managerをおこなうお客様は、 DIL は、に基づく特性の信頼できる情報を受け取らなくなります プラットフォームレベルのキー.
Audience Managerのお客様がターゲティングにプラットフォームレベルのキーを使用する場合は、 Experience PlatformWeb SDK の代わりに DIL、有効 高エントロピークライアントヒント 信頼できる特性データを引き続き受信する。
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"
}