ロボットとユーザーエージェント
Webサイトにアクセスしてくるクライアントは、ブラウザだけではありません。ブラウザ以外のクライアントは一般に「ロボット」と呼ばれます。ロボットは、人が操作してWebページへのアクセスを行うブラウザとは異なり、プログラム化されたルールに従って自動的にアクセスを行うツールの事です。もっとも有名なのは、検索エンジンのデータ収集用に利用するロボットですが、それ以外にも、Webページの更新チェッカツールやスパムメール配信用にWeb上に掲載されているメールアドレスを収集するロボットなど、さまざまな種類が存在します。
ロボットは、機械的にアクセスしてくることを除けば、Webサイトへのアクセスの仕組み自体はブラウザからのアクセスとまったく同じです。しかしロボットの多くは自分自身が何者であるか、ということをユーザーエージェント情報として渡してくれるので、この情報から、「このアクセスはロボットからのアクセスだな」ということがわかるのです。主要な検索エンジンのロボットが送ってくるユーザーエージェント情報を以下に示します。

Googleの利用するロボットは「Googlebot」、Yahoo!は「Yahoo! Slurp」というように、ロボットにはそれぞれ名前があり、その情報が含まれているのがわかります。また、こうしたロボットのユーザーエージェント情報には、そのロボットに関する説明が記載されたWebページのURLが書かれていることが多いのが特徴です。これは、ロボットがひとつのサイトに対して大量にアクセスを行うケースが多く、そのサイトの管理者がびっくりして「これは何者だ?」と思ったような場合に、きちんとそれに対して説明できるようにするためです。
アクセス解析ツールによっては、ロボットからのアクセスを個別に集計して、どんなロボットがどれだけアクセスしてきたかを見ることができます。検索エンジンのロボットは、アクセスしてくれないと検索エンジンでの検索結果に自分のサイトが表示されないわけですから、きちんと訪問してくれているかどうかは重要な情報です。そしてそれを解析するためには、ユーザーエージェント情報が利用されているのです。
ただしロボットは画像を読み込んだりJavaScriptを実行するものがほとんどなく、そのためにJavaScriptなどを利用するアクセス解析サービスではその訪問を検知できないことから、アクセス解析ツールによってはこれらのユーザーエージェントはほとんど見られない場合もあります。ロボットの解析については、次回以降に改めて触れたいと思います。
なお、検索エンジンのロボットとは異なり、メールアドレスの収集用ロボットなど、Webサイトを公開するものにとって好ましくないロボットは、ユーザーエージェントを偽り、例えばInternet Epxlorerと同じユーザーエージェント情報を返すといったことをして、身元を隠そうとすることも多くなっています。ユーザーエージェントがいわば「なんでもあり」であるがために、こうした問題が発生してしまうのです。
