近年、プライバシーへの懸念により、ブラウザーがユーザー エージェント文字列を処理する方法が大きく変わりました。従来、ブラウザーとデバイスの情報を識別するために使用されてきたユーザー エージェント文字列は、共有される情報の量を制限するために削減され、それによってユーザーのプライバシーが保護されています。ユーザー エージェント削減の制限に対処するために、必要な情報を共有するためのより制御されたプライバシーを尊重した方法を提供するクライアント ヒントがソリューションとして登場しました。
ブログ投稿全文はこちら
User-Agent 文字列の歴史は、Tim Berners-Lee の WorldwideWeb から始まる、Web ブラウザの初期にまで遡ります。当初は、基本的なブラウザーとバージョン情報を提供する単純なものでした。時間が経つにつれて、オペレーティング システム、デバイスの種類などに関する詳細なデータが含まれるように進化し、Web 分析やユーザー エクスペリエンスの最適化に役立つことが判明しました。ただし、この詳細によりデバイスのフィンガープリンティングも可能になり、プライバシーの懸念が生じました。
ユーザー エージェントの削減は、ユーザー エージェント文字列内の情報を最小限に抑えてユーザーのプライバシーを保護することを目的としています。特定の OS バージョンやハードウェア モデルなどのエントロピーの高い情報が削減されます。たとえば、Google の Chrome は、あまり詳細ではないユーザー エージェント文字列を報告するようになりました:
同様に、Firefox と Safari も独自のバージョンの User-Agent 削減を実装していますが、独自のポリシーに基づいて若干の違いがあります。
クライアント ヒントは、プライバシーを意識した方法で、ユーザーのデバイスとブラウザに関する特定の高エントロピー情報を要求する方法を提供します。クライアント ヒントにアクセスするには、主に 2 つの方法があります:
HTTP ヘッダーを介してクライアント ヒントを実装するには、サーバーは HTTP 応答に適切なヘッダーを設定し、今後のリクエストにこれらのヒントを含めるようブラウザーに通知する必要があります。例えば:
Accept-CH: Sec-CH-UA-Platform-Version
ブラウザからの後続のリクエストにはプラットフォームのバージョンが含まれます:
Sec-CH-UA-Platform-Version: "14.5.0"
動的アプリケーションの場合、JavaScript API は柔軟性を提供します。たとえば、getHighEntropyValues メソッドを使用する場合:
if (navigator.userAgentData) { navigator.userAgentData.getHighEntropyValues(['architecture', 'model', 'platformVersion']) .then(ua => { console.log(ua); }); }
特定のニーズに応じて、ユーザー環境データを収集するためのさまざまな方法を選択できます:
ユーザー エージェントの削減とクライアント ヒントは、Web サイトが最適な機能に必要な情報を収集できるようにしながら、ユーザーのプライバシーを強化するための重要なステップとなります。これらのテクノロジーを理解して実装することで、開発者は詳細なユーザー データの必要性とプライバシーとパフォーマンスの考慮事項のバランスを取ることができます。
詳細については、詳細なブログ投稿をご覧ください。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3