皆さん、Webブラウザのユーザエージェントって聞いたことありますか?聞いたことある人は結構いるかもしれませんが、具体的に何のことかはよく分かっている人は少ないのではないでしょうか?
ユーザエージェントとは、WebブラウザがWebサーバに対して送るメッセージに付与されている情報で、ブラウザについての情報が記述されています。平たくいえば、ユーザエージェントとは、「IEつかってます!」「Firefoxつかってます!」「iPhoneつかってます!」といったメッセージのことです。
皆さんは、携帯電話で、PC向けのWebサイトを開いたことはありますか?たとえば、http://www.yahoo.co.jpを、iPhoneで開くとこんな感じになります。
iPhone向けに特別にデザインされたデザインになっていますね。このように、端末に適した形式で画面を表示するためにユーザエージェントは使われています。
ユーザエージェントを使ってアクセス制限をしているサイトもあるようですが、先ほどの投稿した記事で紹介したように、
ユーザエージェントは簡単に偽装できてしまいます。そのため、携帯電話以外からは絶対にアクセスさせたくない場合は、ユーザエージェントだけでなく、IPアドレスや、端末識別番号などといった方法を組み合わせて使うべきです。
ところで、このユーザエージェント、実際にはどのような値が送信されているのでしょうか?
FirefoxにFirebugというアドオンをインストールし、User-Agentの値を確認してみました。
これを見ると、WindowsNT 6.1、つまり、Windows7上で、Firefox3.5.8を使ってアクセスしていることが分かります。この情報は、ブラウザがWebサーバ上のファイルにアクセスするたびに送信され、ブラウザに適合したコンテンツが送信されます。
HTTPのヘッダには、User-Agent以外にもさまざまな情報が含まれており、本格的にWebアプリケーション開発に携わるのであれば、プログラミングや、データベースに関する知識だけでなく、HTTPに関する知識も身につける必要があります。