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

ノーリファラ

pointこの用語のポイント

pointリファラが空だよ

pointどこから来たか(リンク元のURL)が隠されているよ

スポンサーリンク

簡単に書くよ

ノーリファラ(英:no referrer)とは

リンク元の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

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

リファラは「リンク(直前に見ていたページ)のURLが書いてある項目」です。

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

ノーリファラ6

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

ノーリファラ7

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

ノーリファラ8

以上を踏まえて

リファラの中身が空の状態

が「ノーリファラ」です。
リンク元のURLが内緒になっている状態ですね。

ノーリファラ9

ノーリファラになる原因は、いくつかあります。
代表的なのは

・URLを直接入力した
お気に入りから移動した
セキュリティソフトがリファラを空にした


でしょうか。

1.そもそもリンク元がない
2.リンク元の情報を消した


のどちらかですね。

この場合、無理にリンク元を見ることはできません。
諦めてください。

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

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

休め

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

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

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

ノーリファラ10

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

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


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

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


のようになっています。

ノーリファラ11

この3つのうち「HTTPリクエストヘッダ(ヘッダ)」の中に「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

と書いてありますよね。

これがRefererです。
リンク元のURLが「https://wa3.i-3-i.info/index.html」だと示しています。

今回の例ではRefererの部分にURLが入っていますが、これが空だとノーリファラな状態になります。


image piyo2

一言でまとめるよ

まぁ「ノーリファラ」って単語が出てきたら「どこから来たのか(リンク元)が内緒になっている状態なんだな~」と お考えください。

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

おまけ

■訳してみるよ

「no(ノー)」は否定の意味です。
「referrer(リファラ)」はIT用語の「リファラ」です。
何となく くっつけると

リファラがない

となります。
ちなみに「referrer」と「referer」のどちらが正しいのかは分かりませんでした。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
おい点P、動くんじゃねえ!──ニガテ民のための算数と数学の本
ソフトウェア受託現場の「失敗」集めてみた。 42の失敗事例で学ぶ受託開発のうまい進めかた