ノーリファラ
リファラが空だよ
どこから来たか(リンク元のURL)が隠されているよ
簡単に書くよ
ノーリファラ(英:no referrer)とは
リンク元の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ブラウザさんは、受け取ったページを画面上に表示します。
これがホームページを見るときの流れです。
リファラは「リンク元(直前に見ていたページ)のURLが書いてある項目」です。
ホームページを見るときの流れで説明した、WebブラウザさんがWebサーバさんに「このページをおくれ」と お願いを出したところに注目してください。
実は、このお願いには「リンク元(直前に見ていたページ)のURLは、ここだよ」という情報がくっつけられて送られます。
この「リンク元(直前に見ていたページ)のURLは、ここだよ」という情報が書いてある項目が「リファラ(referer)」です。
以上を踏まえて
リファラの中身が空の状態
が「ノーリファラ」です。
リンク元のURLが内緒になっている状態ですね。
ノーリファラになる原因は、いくつかあります。
代表的なのは
・URLを直接入力した
・お気に入りから移動した
・セキュリティソフトがリファラを空にした
でしょうか。
1.そもそもリンク元がない
2.リンク元の情報を消した
のどちらかですね。
この場合、無理にリンク元を見ることはできません。
諦めてください。
以上がノーリファラの大雑把な説明です。
次に、リファラの部分の仕組みを、もう少し詳しく見ていきます。
余裕がある方は頑張って読んであげてください。
脳みそから煙が出そうな人は無理する必要ありません。
ゆっくり休んでください。
あっ、読んでくださるのですね。
ありがとうございます。
それでは、いってみましょう。
WebブラウザさんからWebサーバさんに出した「このページをおくれ」な お願いを専門用語で「HTTPリクエスト」と言います。
HTTPリクエストは3つの部品から成り立っています。
1.HTTPリクエストライン(リクエストライン)
2.HTTPリクエストヘッダ(ヘッダ)
3.HTTPリクエストメッセージボディ(メッセージボディ)
の3つです。
構造としては
「リクエストライン」
「ヘッダ」
(空行【CR+LF】)
「メッセージボディ」
のようになっています。
この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が入っていますが、これが空だとノーリファラな状態になります。
一言でまとめるよ
まぁ「ノーリファラ」って単語が出てきたら「どこから来たのか(リンク元)が内緒になっている状態なんだな~」と お考えください。
おまけ
■訳してみるよ
「no(ノー)」は否定の意味です。
「referrer(リファラ)」はIT用語の「リファラ」です。
何となく くっつけると
リファラがない
となります。
ちなみに「referrer」と「referer」のどちらが正しいのかは分かりませんでした。






