|設計|構築|集客|分析|精神論|その他|

2008/06/19

アクセス解析の原理〜リファラーから紐解く

アクセス解析はどのような仕組みで動作しているのか、その原理について断続的に解説していこうかと。
特別、アフィリエイトに役立つというわけではありませんし、原理を知らなくてもアクセス解析は使えるわけですが、やっぱりアフィリエイトとは切っても切れないツールであるアクセス解析です。その原理についてもある程度は知っていて損はないのではないかと。
ということで、まずは「リファラーとはなんぞや」という話から。

なぜ来訪元が分かるのか?

アクセス解析を設置すると、どこから来たのか(来訪元のURL)が分かります。これは、Referer(リファラー)が関係しています。
リファラーとは、つまり「参照する人/物」という意味です。その名前の通り、参照元のページURLを示します。
図の説明
左図の様に、ページAに設置されているリンクがクリックされ、ページBにジャンプした時、リファラーは「ページA」になります。
それでは、「ページB」はどうやって「ページAから来た」ことが分かるのかというと、実はページBは直接それを知ることはできません。分かるのはサーバーです。
どういう仕組みになっているのかというと、ここにHTTPプロトコルの話が絡んできます。

Webブラウザは見た感じ、ただWebページを表示しているように見えますが、その裏で何を行っているのかというと、インターネットを介してWebサーバーと通信を行っているわけです。そして、Webサーバーを通信する際には、HTTPプロトコルという通信規約に従って通信します。
つまり、WebブラウザはWebサーバーのハードディスク上に記録されているHTMLファイルの情報を、HTTPプロトコルという手法を使って読み出しているに過ぎないのです。
そして、HTTPプロトコルの規約上、ページをGETする(あるURLの中身を下さい、と要求する)際には、必ず自分のURLも一緒に通知する決まりになっているのです。
本記事はHTTPプロトコルの詳細を解説する趣旨ではないので、詳細は思いっきり省略させて頂いて、非常に概念的に図示すると以下のようになります。

このような仕組みになっているので、サーバーはページAとページBの「繋がり」を知ることができます。
そして、ページBに設置されたアクセス解析用のJavaScript(等)は、ページBが表示されるときに、サーバーにリファラーを問い合わせる仕組みになっています。サーバーはその情報を知っていますからそれを返答します。こうして、最終的にページBがリファラーを知ることができるわけです。
「ページBがリファラーを知ることができる」ということは、何を意味するのかというと、「ページBはどこかのパソコンから表示の要求があるごとに(逆に言うとその時だけ)、リファラー等の情報をサーバーに問い合わせることができる」ということです。
これがまさにアクセス解析スクリプトの基本動作原理とも言えるわけです。

どうしてキーワードが分かるのか?

アクセス解析を設置すると、訪問した人がどんなキーワードで訪問したのかも知ることができます。これもリファラーの情報を活用しています。
検索エンジンで検索したときのURLを見てみてください。例えば、Googleを使って"netwalker"で検索してみたときには以下のようなURLになります。
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=netwalker&num=50
URLの中に、検索したキーワードが含まれていることが分かると思います。
アクセス解析は、訪問元のURLを知ることができますから、このURLを分解すれば、キーワードが分かるという仕組みです。
そして同時に、どんな検索エンジンを使ったのかも一目瞭然というわけです。

最後に具体例

最後に、具体例を上げておきましょう。実際のWebブラウザとサーバ間のHTTPプロトコル通信をキャプチャした結果です。

反転表示しているところに注目してください。情報の中に、"Referer: http://www…"という文字列が入っていることが分かると思います。こういうかたちで、Webブラウザからサーバーに対し情報が送信されているわけです。