CGI-BBS > アクセスカウンタ > その他 > HTTP_REFERERでできること


カレッヂ
カレッヂ


質問者 アクア  投稿日 4/3(火) 22:12:50
みなさんこんにちわ。

早速ですが、ひとつ質問があります。
HTTP_REFERERを使うと、直前のブラウザに記憶されているURLを
取得することが出来ますよね?
現在のトップページの拡張子(htm)をかえずに
自分のページへ来る直前(外部のURL)を取得することは
できるのでしょうか。
解析用に取得したいと思っているのですが・・・

どなたかご存知の方がおりましたら解答をよろしくお願いします。
回答者 羊相談員  [削除]  投稿日 4/4(水) 09:54:55
拡張子は補助的なものであって
ファイルタイプを決定する要素ではないので
拡張子がhtmのCGIスクリプトを用意すればできるかもしれません。
(.htaccessによる設定変更が必要かもしれません)
この方法がダメならJavaScriptで取得する方法もあります。


>HTTP_REFERERを使うと、直前のブラウザに記憶されているURLを
>取得することが出来ますよね?

これはちょっと違います。
HTTP_REFERER「呼び出し元」のURLを返します。

例えば
フレーム使用時にindex.htmlに
<frame src="xxx.cgi">
と記述した場合
「直前のURL」はindex.htmlの前に見たURLになりますが
xxx.cgiの「呼び出し元」はindex.htmlになります。
つまり、HTTP_REFERERはindex.htmlのURLを返します。

もうひとつ例を挙げると
IMGタグを使ってa.htmlに<IMG src="xxx.cgi">
と記述した場合もxxx.cgiのHTTP_REFERERはa.htmlのURLになります。

また、HTTP_REFERERが全然関係のない「直前のURL」を返すことは(IE4では)あまり多くはなく、
基本的にはそのような動作をしないようにできているようです。
質問者 アクア  [削除]  投稿日 4/4(水) 20:37:46
羊相談員さん、解説ありがとうございました。
とても参考になりました。

新たに分からないところが
見つかりました。改めて質問してあります。

よろしければそちらにも目を通していただければ
幸いです。

返信(回答)する


Web裏技