ネットの「どこから来たの?」を教えるRefererヘッダー。プライバシーとどう付き合うべき?
こんにちは!ネットワークの世界へようこそ。今日は、Webサイトを見ているときに裏側でこっそり行われている「おしゃべり」についてお話しします。
普段、Webサイトを見ているとき、私たちは意識しませんが、ブラウザはサーバーに対して「このページをください!」とリクエストを送っています。そのとき、実は「私は今、このリンクをクリックしてここに来ましたよ!」という情報を、こっそり添え書きしていることをご存知でしたか?
これが、今回解説する「Referer(リファラー)ヘッダー」です。なぜそんなことをするのか、そしてなぜそれがプライバシー問題として話題になるのか、郵便配達に例えて紐解いていきましょう!
—
1. Refererってなに?「紹介状」を持った郵便配達
Webサイトの閲覧を、手紙のやり取りに例えてみましょう。
あなたが「Aというブログ」を読んでいて、そこに貼ってあった「Bというニュースサイト」のリンクをクリックしたとします。このとき、あなたのブラウザ(郵便配達員)はBさんのサーバーへ向かう際、こんなメモを封筒に貼り付けているようなものなんです。
> 「このお客さんは、さっきまでAというブログにいましたよ!」
これがRefererヘッダーです。サーバー側はこれを見ることで、「うちのサイトはどこからアクセスが集まっているのかな?」とか「どんなサイトがうちを紹介してくれているのかな?」といった解析ができるわけですね。
なぜ「Referer」という変な綴りなの?
お気づきの方もいるかもしれませんが、英語の正しいスペルは「Referrer(紹介者)」ですよね。ところがHTTPの仕様では、うっかりミスで「Referer」と書かれてしまいました。今さら直すと世界中のシステムが壊れてしまうので、歴史的な愛嬌としてそのまま使われています。かわいいものですね!
—
2. なぜこれがプライバシー問題になるの?
便利なRefererですが、時には「教えすぎ」が問題になります。例えば、こんなケースを想像してみてください。
- あなたが会員制サイトの「個人設定ページ」を見ている。
- そのページに、外部の広告バナーが貼ってある。
もしブラウザが「今、この人は『個人設定ページ(URLに会員IDが含まれているかも)』から来ましたよ!」と、広告サーバーにRefererを送信してしまったらどうなるでしょう?広告主は、あなたの行動履歴やIDを密かに追跡できてしまうかもしれません。
「どこから来たか」を伝えることは、「その人がどんな文脈の中にいたか」を漏洩させるリスクがあるのです。
—
3. 「Referrer-Policy」で情報をコントロールしよう
そこで登場したのが「Referrer-Policy」という司令塔です。「どこまで情報を教えていいか」を、Webサイト側からブラウザに指示できるようになりました。
現代のエンジニアとして知っておくべき、代表的な設定をいくつか見ていきましょう。
設定の書き方(HTMLのメタタグ)
Webページの`
`タグの中に、このように記述するだけでOKです。
実務でのおすすめは?
最近のトレンドは、`strict-origin-when-cross-origin` です。これは、「同じサイト内なら詳しく教えていいけど、別のサイトへ行くときは、相手が誰か分かればいい(URLの細かい部分は隠す)」という、非常にバランスの良い設定です。
迷ったら、まずはこれを選んでおけば間違いありません。
—
4. 開発時のデバッグは「ブラウザの武器」を使おう
実際に自分のサイトがどんなRefererを送っているか、確認したことはありますか?
1. ブラウザ(Chromeなど)で `F12` キーを押して「デベロッパーツール」を開く。
2. 「Network(ネットワーク)」タブを選択。
3. 適当なページにアクセスし、名前の列にあるファイルをクリック。
4. 「Headers(ヘッダー)」タブの中にある「Request Headers」を見てみてください。
そこに `Referer: https://example.com/…` と書かれていれば、それが相手に伝わっている情報です。これを見るだけで、ネットワークの裏側で何が起きているか、一目で分かるようになりますよ!
—
最後に:ネットワークを「見る」楽しさを
プロトコルとは、単なる決まり事ではなく、「どうすれば相手と気持ちよく通信できるか」という配慮の積み重ねです。Refererも、本来は「誰が紹介してくれたのか」を知るための感謝のしるしでした。それが時代を経て、プライバシーを守るための設定が必要になった。この変遷こそが、Webの歴史そのものです。
まずは身近なサイトのヘッダーを覗いてみることから始めてみてください。きっと、昨日までとは違う景色が見えてくるはずですよ!
それでは、また次回の記事でお会いしましょう。ハッピー・ネットワーキング!
コメント