User-Agent
User-Agentとは
User-Agentとは、特定のプロトコルに基づいてサーバーにアクセスする際に、クライアント側で使用されるソフトウェアを指します。一般に「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, like 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ページにリダイレクトしたりできます。

