【りふぁら】

リファラ とは?

最終更新:
💡 参照元の情報は、常に全部届くとは限らない

HTTPリクエストの参照元を示す情報。Refererヘッダーの綴り、Referrer-Policyによる送信範囲、アクセス解析との違いを解説します。

📌 このページのポイント
リファラ:参照元のどこまで送る?ブラウザーでページAを表示https://source.example/page?q=1#part別のHTTPSオリジンへリクエストページBのサーバーが受信Referer: https://source.example/この例ではオリジンだけを送るパス・クエリ・#partは含まれない情報が届かない場合もある
strict-origin-when-cross-originで別のHTTPSオリジンを開く例です。同一オリジンでは送信範囲が異なり、実際の範囲はポリシーや環境によります。本人確認の証拠ではありません。
ひよこ ひよこ
リンク元が分かるリファラって、何?
ペンギン先生 ペンギン先生
リクエストの参照元を示す情報だ。あるページから別のページを開く場合などに、ブラウザーがRefererヘッダーで参照元の情報を送ることがある。
ひよこ ひよこ
直前に見ていたページが、必ず届く?
ペンギン先生 ペンギン先生
必ずではない。URLを直接入力した場合などは、参照元がないことがある。ページ内の画像などを取得するリクエストにも使われるので、ページ移動だけの情報とは限らない。
ひよこ ひよこ
URLは、丸ごと送られる?
ペンギン先生 ペンギン先生
送る範囲はReferrer-Policyなどによる。URLの末尾の#から始まるフラグメントや、URL内のユーザー情報はRefererに含めない。パスやクエリも、条件によって省かれる。
ひよこ ひよこ
今の一般的な既定の設定では?
ペンギン先生 ペンギン先生
strict-origin-when-cross-originというポリシーだ。同じオリジンにはパスなども送り、別のオリジンへのHTTPS通信には通常オリジンだけを送る。HTTPSからHTTPへの移動では送らない。
ひよこ ひよこ
アクセス解析の流入元と、完全に同じ?
ペンギン先生 ペンギン先生
解析ではリファラ以外の情報も使う。例えばGA4はURLのキャンペーン情報なども処理する。レポートの流入元を、Refererの文字列そのものと考えると誤解しやすい。
ひよこ ひよこ
特定のサイトから来た人だけ許可できる?
ペンギン先生 ペンギン先生
Refererだけを本人確認やアクセス権の根拠にしてはいけない。送られない場合もあるし、ブラウザー以外のクライアントでは指定できる。認証や権限確認とは別の情報だよ。
もっと詳しく知りたい人へ

情報を送らないようにできる?

Referrer-Policyのno-referrerは参照元の情報を送らない設定です。ただし設定は送信元のページやリンクなどの条件も関わります。情報を減らす設定と、移動先のサイトへ通信しないことは別です。

HTTPSなら、別のサイトに参照元は一切伝わらない?

そうとは限りません。既定のstrict-origin-when-cross-originでは、別のHTTPSオリジンへオリジンを送ります。HTTPSによる通信の暗号化と、HTTPヘッダーとして相手に伝える情報の範囲は区別します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「リファラ」って出てきたら「HTTPリクエストの参照元を示す情報」と思えばだいたいOK!
📖 おまけ:英語の意味
「Referrer / Referer」 = 参照元・参照元を示すHTTPヘッダー
💬 一般の英単語はreferrer、HTTPのヘッダー名はRefererです。送信範囲を指定するヘッダー名はReferrer-Policyで、綴りが異なります。

参考資料

← 用語集にもどる