ユーザエージェント
ユーザエージェント(User Agnet - 略称:UA)とは、使用者(User)の代理(Agent)で処理を行い、その結果を使用者に返すために使用されるソフトウェアのことで、Web上ではWebコンテンツにアクセスするためのHTTPユーザエージェントのことを指します。
HTTPユーザエージェント
HTTP を解釈するソフトウェアと言えば、代表的なものにウェブブラウザがあります。ウェブブラウザと言っても、Microsoft Internet Explorer や Mozilla Firefox のようにテキストやグラフィックを表示する視覚ブラウザから、音声出力や点字出力の非視覚ブラウザなど様々なソフトウェアがあります。また、GoogleやYahoo!の検索エンジンロボット(クローラー)もウェブブラウザと同じ HTTPユーザエージェントの一種です。
HTTPユーザエージェントは、Webコンテンツにアクセスする際、Webサーバに対して「この Webページをください」とリクエスト(要求)を行います。このリクエスト中にユーザエージェントは、各ユーザエージェントを識別できるようにユーザエージェント文字列を自己申告するようになっています。
ユーザエージェント文字列は、ウェブブラウザであれば一般にアプリケーション名・バージョン・ホストオペレーティングシステムと言語などの情報を含んでいます。検索エンジンのロボットの場合は、ウェブサイトの担当者と検索エンジンのオペレーターとがコンタクト(連絡)を取ることができるように、しばしば URIや電子メールアドレスが含まれています。
これらの情報がよくウェブサイトの制作者側にとっては、問題の抱えるユーザエージェントにだけ特別な指定を行ったり、携帯電話端末には別の最適化したページへ転送させたり、訪問者がどのブラウザを使用しているのかのアクセス解析(アクセス分析)などに利用されています。
ただしユーザエージェント文字列はあくまで自己申告なので、簡単に偽装可能できることに注意しなければなりません。
ユーザエージェント文字列の例
ウェブブラウザのユーザエージェント文字列はWindows XPでの例です。
- IE6
- Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
- IE7
- Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)
- IE8
- Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; eSobiSubscriber 2.0.4.16; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729
- Firefox2
- Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
- Firefox3
- Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1
- Opera9
- Opera/9.00 (Windows NT 5.1; U; ja)
- Safari4
- Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP) AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7
- Android
- Mozilla/5.0 (Linux; U; Android 1.6; ja-jp; SonyEriccsonSO-01B Build/R1EA018) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1
- iPhone
- Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; ja-jp) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16
- Googlebot/2.1 (+http://www.google.com/bot.html)
- Yahoo!
- Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)