Perl/CGI研究室 'PERL-LABO'

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 の内容を画面に表示するプログラムを作ってみました。

作成したCGIプログラム

referer.cgi
#!/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

そうすると、画面にはなにも表示されませんでした。 直接訪問した場合は、リファラーはからっぽになるっていうのが確認できました。

使い道はいろいろ

今回作成したプログラムは単なるテストでしたが、 今後、どんな使い方があるのか、いろいろ応用を 研究していきたいと思います。

研究メモ

  1. アクセス元ウェブページのURLが、環境変数 HTTP_REFERER に入っています。リファラーといいます。
  2. ブックマークやURLの直接入力などではリファラーは空っぽになります。
  3. リファラーのスペルは referrer が正しいんだそうです。(環境変数名は referer となっています。)
Perl/CGI研究室 'PERL-LABO' TOPへ
戻る(History.Back)

Copyright (c) 'PERL-LABO' All Rights Reserved.  リンクフリーです。