ユーザーエージェントとは何ですか?
ユーザーエージェントとは、特定のプロトコルに基づいてサーバーにアクセスするためにクライアント側で使用されるソフトウェアを指します。 通常、「User-Agent」について説明する場合、HTTP を使用して Web サーバーにアクセスするときに送信される HTTP User-Agent を指します。
HTTP 通信では、クライアント要求とともに送信される User-Agent ヘッダーによって User-Agent が識別されます。 たとえば、Windows 10 上の最新バージョンの Google Chrome (2016 年 2 月現在) を使用して Web サーバーにアクセスすると、User-Agent ヘッダーに次の情報が含まれます。
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/48.0.2564.109 Safari/537.36
Web サーバーは、アクセス解析を行って最も頻繁に使用されるブラウザを特定したり、オペレーティング システムに基づいて Web ページをカスタマイズする (たとえば、PC とスマートフォンで異なるページを表示する) など、さまざまな目的でこの情報を利用します。
JavaScript やその他のスクリプトを使用する動的な Web サイトでは、スクリプト実行の動作はブラウザによって異なる場合があります。 これを解決するには、クロスブラウザ互換性を確保するためにブラウザの種類を識別し(多くの場合、User-Agent 情報を使用)、各ブラウザに適切なコードを実行する必要があります。 ただし、User-Agent 情報は偽装される可能性があるため、最新の手法では、特定のブラウザ依存コードを実行し、その結果に基づいてブラウザの種類を識別します。
以前は、独自のブラウザ機能が広く使用されていたため、ブラウザ間の互換性が大きな課題でした。 しかし、ブラウザの標準化の進歩により、これらの困難は軽減されました。 最近の Web サイトの中には、古いブラウザのサポートを明示的に除外しているものがあり、古いテクノロジに対する互換性要件が緩和されています。
F5 の BIG-IP iRules を使用すると、User-Agent 文字列の分析が簡単になり、特定のブラウザからのアクセスをブロックしたり、ユーザーを Sorry ページにリダイレクトしたりするなどのアクションが可能になります。