F5 GLOSSARY

ユーザー エージェント

User-Agent(ユーザー エージェント)とは、特定のプロトコルに基づいてサーバにアクセスする際に、アクセスする側(クライアント側)のソフトウェアを意味します。一般にUser-Agentという場合には、HTTPを使用してWebサーバにアクセスするHTTP User-Agentをさすことが多いようです。

HTTPではクライアントから送られるリクエストの中に、User-Agentを識別するためのUser-Agentヘッダが含まれています。例えばWindows 10で動くGoogle Chrome(2016年2月時点での最新版)からアクセスした場合、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ブラウザからのアクセスが多いのかを調査する、といった利用方法です。またUser-AgentのOSをチェックし、デバイスがPCかスマートフォンかによって、異なるページを表示させるといったことも行われています。

Javascript等のスクリプトを活用したWebサイトの場合は、Webブラウザによってスクリプト実行時の挙動が変わる可能性があるため、Webブラウザの種類を判別し、それに応じて異なるコードを実行するようにプログラミングを行う「クロスブラウザ対応」という作業が必要です。その判断基準にUser-Agentの情報が利用されることもあります。ただしUser-Agentはクライアント側で偽装することも可能なので、実際にはブラウザによってサポート状況が異なる代表的なコードを実行し、その結果によってブラウザの種別を判別する手法が、一般的だと言えます。

以前は独自機能を備えたWebブラウザが広く使われていたという背景もあり、クロスブラウザ対応はWebアプリケーション開発者にとって、大きな悩みの種でした。しかし最近ではWebブラウザの標準対応が進んでおり、クロスブラウザ対応の負荷も軽減しつつあります。もちろん古いWebブラウザでも適切に動作させるには従来通りのクロスブラウザ対応が必要になりますが、最近では「古いWebブラウザからのアクセスを想定しない」ことを前提にしたWebサイトも登場しています。

F5の「F5 BIG-IP」のiRulesを活用すれば、User-Agentの文字列をチェックし、特定のWebブラウザからのアクセスをブロックしてSorryページ等にリダイレクトする、といったことが容易になります。


< Return to the glossary