|
Perl/CGI研究室 'PERL-LABO' TOPへ |
戻る(History.Back) |
CGIプログラムがどのウェブページから呼び出されたのかを調べる研究です。
環境変数 HTTP_REFERER に、リファラーというものが入っています。 これ、そのCGIプログラムを呼び出す前に訪問者が開いていたウェブページのURLです。
ただし、そのCGIプログラムへのリンクをクリックしたときにだけ HTTP_REFERER が設定されます。 直接URLをブラウザに打ち込んだ場合や、 ブックマークからそのページに訪問した場合、 あとはメールに書かれていたURLをクリックした場合などは、 HTTP_REFERER はからっぽになります。 逆に、HTTP_REFERER がからっぽの場合は、ブックマークから来てくれたのかな? という予想ができますね。
これはアクセス解析でよく利用される情報ですね。 例えば、検索エンジン Google から訪問した方の場合、 リファラーは例えば http://www.google.co.jp/〜 みたいになります。 なので、リファラーを調べると、 検索エンジンからの訪問者が何人くらいで、 ブックマークしてくれている人が何人くらいで…といった情報が得られます!
特に、検索エンジンからの訪問の場合、URLの中に検索に使った文字列が 含まれている場合がほとんどです。なので、どんなキーワードで検索して 訪問してくれたのかなぁなんてことも分かってしまいます。 でもそのためにはちょっと処理が必要なので、それはまた今度研究しましょう。
単に、環境変数 HTTP_REFERER の内容を画面に表示するプログラムを作ってみました。
#!/usr/bin/perl
print "Content-type: text/html\n";
print "\n";
print "$ENV{'HTTP_REFERER'}";
下のリンクをクリックしてみてください。
今回作ったのは単にリファラーを画面に表示するだけのものです。 そして、そのCGIプログラムはこのページからリンクしています。 ですから、そのCGIプログラムのリファラーは…当然ながら、このページになります。 何回やっても同じです (^^;
あと、試しに、新しいブラウザを開いて、直接URLを指定してみましょう。 CGIプログラムのURLは次の通りです。
http://www.perl-labo.org/analyse/referer/referer.cgi
そうすると、画面にはなにも表示されませんでした。 直接訪問した場合は、リファラーはからっぽになるっていうのが確認できました。
今回作成したプログラムは単なるテストでしたが、 今後、どんな使い方があるのか、いろいろ応用を 研究していきたいと思います。
|
Perl/CGI研究室 'PERL-LABO' TOPへ |
戻る(History.Back) |
| Copyright (c) 'PERL-LABO' All Rights Reserved. リンクフリーです。 |