Referrer-Policy
概要

通常、Webブラウザは別ページへ移動したり外部リソースを取得したりする際、Refererヘッダに遷移元ページのURLを含めて送信する。URLに検索条件や利用者を識別する情報が含まれる場合、それが移動先のサイトへ渡ってしまう可能性があり、Referrer-Policyはこれを制御するために使われる。
「no-referrer」を指定するとRefererヘッダを一切送信しない。「same-origin」は同一オリジン(同じサーバ)への移動時のみ送信し、他サイトへは送信しない。「strict-origin」はURL全体ではなくオリジン情報のみを送信し、かつHTTPSからHTTPのような安全性が低下する通信では送信を行わない。「strict-origin-when-cross-origin」は同一オリジンにはURL全体を、異なるオリジンにはオリジン情報のみを送信する設定であり、現在は多くのブラウザで既定値として採用されている。
これらのポリシーはHTTPレスポンスの「Referrer-Policy:」ヘッダで指定するほか、HTML文書内のmeta要素で「<meta name="referrer" content="no-referrer">」のように記述することもできる。さらに、個々のリンクや画像などのHTML要素に対してreferrerpolicy属性を指定すれば、ページ全体とは異なる送信方針を適用することも可能である。
Referrer-Policyが登場する以前は、リファラの送信可否をブラウザ側の設定やmeta要素の簡易な指定に頼るしかなく、細かな制御が難しかった。近年では常時HTTPS化や利用者の行動追跡に対する規制強化を受け、主要なブラウザの多くがデフォルトで strict-origin-when-cross-origin に近い挙動を採用するようになっている。運営者が明示的に設定しなくても、外部サイトへの移動時にはURLの後半部分が省略され、ドメイン名など一定の範囲までしか送信されない。