リファラ
リンク元のURLが載っている項目だよ
改ざんしたり隠すこともできるよ
気休め程度の情報だよ
簡単に書くよ
リファラ(英:referer)とは
ホームページのファイルを受け渡しするときのやり取り「このページをおくれ」にくっつけて送られる「リンク元のURL
(ホームページの住所に相当する情報)(直前に見ていたページのURL)は、これです」な情報が書いてある項目
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「URL」とホームページが表示される流れについて簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
URLは「ホームページの住所」です。
ホームページの置いてある場所とかファイル名とかを示す情報です。
例えば
http://wa3.i-3-i.info/extension/index.html
というURLが あったとしましょう。
このURLは
「wa3.i-3-i.info」という名前のコンピュータの中にある「extension」という名前のディレクトリの中にある「index.html」という名前のファイル
を意味します。
これがURLの説明です。
次にホームページが表示される流れを説明します。
あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフト(Webブラウザ)からホームページのファイルが置いてあるコンピュータ(Webサーバ)に対して「このページをおくれ」と お願いが出されます。
そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。
お返事を受け取ったWebブラウザさんは、受け取ったページを画面上に表示します。
これがホームページを見るときの流れです。
以上を踏まえて、本題に入ります。
ホームページを見るときの流れで説明した、WebブラウザさんがWebサーバさんに「このページをおくれ」と お願いを出したところに注目してください。
実は、このお願いには「リンク元(直前に見ていたページ)のURLは、ここだよ」という情報がくっつけられて送られます。
この
「リンク元(直前に見ていたページ)のURLは、ここだよ」という情報が書いてある項目
が「リファラ(referer)」です。
リファラを見ることで、どこから来たかが分かります。
アクセス解析や不正アクセス対策が捗るのです。
ただし、です。
リファラにURLが入るのはリンクを押して移動したときだけです。
お気に入りとかから移動すると中身は空になります。
それに、リファラの改ざんは簡単です。
あるいは、セキュリティソフトによってはリファラを空にしやがったりもします。
よって、過信は禁物です。
「名刺」程度の信頼性ですかね。
普通は正しい情報が載っていますが、その気になれば偽るのは簡単ですし、最初から出さない人もいます。
気休め程度の信頼度です。
以上がリファラの大雑把な説明です。
次に、もう少しだけ詳しく見ていきます。
余裕がある方は頑張って読んであげてください。
脳みそから煙が出そうな人は無理する必要ありません。
ゆっくり休んでください。
あっ、読んでくださるのですね。
ありがとうございます。
それでは、いってみましょう。
WebブラウザさんからWebサーバさんに出した「このページをおくれ」な お願いを専門用語で「HTTPリクエスト」と言います。
HTTPリクエストは3つの部品から成り立っています。
1.HTTPリクエストライン(リクエストライン)
2.HTTPリクエストヘッダ(ヘッダ)
3.HTTPリクエストメッセージボディ(メッセージボディ)
の3つです。
構造としては
「1.リクエストライン」
「2.ヘッダ」
(空行【CR+LF】)
「3.メッセージボディ」
のようになっています。
この3つのうち「2.ヘッダ」の中に「Referer」という項目があるのです。
上でも説明しましたが、Refererの項目にはリンク元のURLが書いてあります。
……と言葉で説明されても分かりにくいですよね。
実際のHTTPリクエストを見てみましょう。
実際のHTTPリクエストは、例えば以下のような内容になっています。
POST /search.html HTTP/1.1\r\n
Host: wa3.i-3-i.info\r\n
Connection: keep-alive\r\n
Content-Length: 38\r\n
Cache-Control: max-age=0\r\n
Origin: https://wa3.i-3-i.info\r\n
Upgrade-Insecure-Requests: 1\r\n
User-Agent: うんちゃら\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\n
Referer: https://wa3.i-3-i.info/index.html\r\n
Accept-Encoding: gzip, deflate\r\n
Accept-Language: ja,en-US;q=0.8,en;q=0.6\r\n
\r\n
q=test&submitSearch=%E6%A4%9C%E7%B4%A2
ごちゃごちゃしていて分かりにくいですが、1行目の
POST /search.html HTTP/1.1\r\n
の部分がリクエストラインです。
Host: wa3.i-3-i.info\r\n
Connection: keep-alive\r\n
Content-Length: 38\r\n
Cache-Control: max-age=0\r\n
Origin: https://wa3.i-3-i.info\r\n
Upgrade-Insecure-Requests: 1\r\n
User-Agent: うんちゃら\r\n
Content-Type: application/x-www-form-urlencoded\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\r\n
Referer: https://wa3.i-3-i.info/index.html\r\n
Accept-Encoding: gzip, deflate\r\n
Accept-Language: ja,en-US;q=0.8,en;q=0.6\r\n
の部分がヘッダです。
q=test&submitSearch=%E6%A4%9C%E7%B4%A2
の部分がメッセージボディになります。
ヘッダの中に
Referer: https://wa3.i-3-i.info/index.html\r\n
と書いてありますよね。
これがリファラです。
リンク元のURLが「https://wa3.i-3-i.info/index.html」だと示しています。
一言でまとめるよ
まぁ「リファラ」って単語が出てきたら「リンク元(直前に見ていたページ)のURL
(ホームページの住所に相当する情報)が書いてある項目なんだな~」と お考えください。
おまけ
■違いの分かるピヨピヨ






