「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

リファラ

pointこの用語のポイント

pointリンク元のURLが載っている項目だよ

point改ざんしたり隠すこともできるよ

point気休め程度の情報だよ

スポンサーリンク

簡単に書くよ

リファラ(英:referer)とは

ホームページのファイルを受け渡しするときのやり取り「このページをおくれ」にくっつけて送られる「リンク元のURL(ホームページの住所に相当する情報)(直前に見ていたページのURL)は、これです」な情報が書いてある項目
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「URL」とホームページが表示される流れについて簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

URLは「ホームページの住所」です。
ホームページの置いてある場所とかファイル名とかを示す情報です。

リファラ

例えば

http://wa3.i-3-i.info/extension/index.html

というURLが あったとしましょう。
このURLは

「wa3.i-3-i.info」という名前のコンピュータの中にある「extension」という名前のディレクトリの中にある「index.html」という名前のファイル

を意味します。

リファラ2

これがURLの説明です。
次にホームページが表示される流れを説明します。

あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフトWebブラウザからホームページのファイルが置いてあるコンピュータWebサーバに対して「このページをおくれ」と お願いが出されます。

リファラ3

そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。

リファラ4

お返事を受け取ったWebブラウザさんは、受け取ったページを画面上に表示します。

リファラ5

これがホームページを見るときの流れです。

以上を踏まえて、本題に入ります。

ホームページを見るときの流れで説明した、WebブラウザさんがWebサーバさんに「このページをおくれ」と お願いを出したところに注目してください。

リファラ6

実は、このお願いには「リンク(直前に見ていたページ)のURLは、ここだよ」という情報がくっつけられて送られます。

リファラ7

この

「リンク元(直前に見ていたページ)のURLは、ここだよ」という情報が書いてある項目

が「リファラ(referer)」です。

リファラ8

リファラを見ることで、どこから来たかが分かります。
アクセス解析不正アクセス対策が捗るのです。

ただし、です。

リファラにURLが入るのはリンクを押して移動したときだけです。
お気に入りとかから移動すると中身は空になります。

それに、リファラの改ざんは簡単です。
あるいは、セキュリティソフトによってはリファラを空にしやがったりもします。

よって、過信は禁物です。

「名刺」程度の信頼性ですかね。
普通は正しい情報が載っていますが、その気になれば偽るのは簡単ですし、最初から出さない人もいます。
気休め程度の信頼度です。

以上がリファラの大雑把な説明です。

次に、もう少しだけ詳しく見ていきます。
余裕がある方は頑張って読んであげてください。
脳みそから煙が出そうな人は無理する必要ありません。
ゆっくり休んでください。

休め

あっ、読んでくださるのですね。
ありがとうございます。

それでは、いってみましょう。

WebブラウザさんからWebサーバさんに出した「このページをおくれ」な お願いを専門用語で「HTTPリクエスト」と言います。

リファラ9

HTTPリクエストは3つの部品から成り立っています。

1.HTTPリクエストライン(リクエストライン)
2.HTTPリクエストヘッダ(ヘッダ)
3.HTTPリクエストメッセージボディ(メッセージボディ)


の3つです。
構造としては

「1.リクエストライン」
「2.ヘッダ」
空行CRLF】)
「3.メッセージボディ」


のようになっています。

リファラ10

この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」だと示しています。


image piyo2

一言でまとめるよ

まぁ「リファラ」って単語が出てきたら「リンク元(直前に見ていたページ)のURL(ホームページの住所に相当する情報)が書いてある項目なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像032
書籍画像052

おまけ



書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
優れたエンジニアがコミュニティの中でしていること
ソフトウェア開発現場の「失敗」集めてみた。 42の失敗事例で学ぶチーム開発のうまい進めかた