--- title: Referrer-Policy slug: Web/HTTP/Headers/Referrer-Policy tags: - HTTP - HTTP ヘッダー - Reference - Referrer-Policy - Response - referrer - プライバシー - レスポンスヘッダー translation_of: Web/HTTP/Headers/Referrer-Policy ---
HTTP の Referrer-Policy {{glossary("HTTP header", "ヘッダー")}}は、 ({{HTTPHeader("Referer")}} ヘッダーで送られる) リファラー情報をリクエストにどれだけ含めるかを制御します。ヘッダーに加えて、HTMLでもこのポリシーを設定することができます。
| ヘッダー種別 | {{Glossary("Response header", "レスポンスヘッダー")}} |
|---|---|
| {{Glossary("Forbidden header name", "禁止ヘッダー名")}} | いいえ |
Referrer-Policy: no-referrer Referrer-Policy: no-referrer-when-downgrade Referrer-Policy: origin Referrer-Policy: origin-when-cross-origin Referrer-Policy: same-origin Referrer-Policy: strict-origin Referrer-Policy: strict-origin-when-cross-origin Referrer-Policy: unsafe-url
元のヘッダー名である {{HTTPHeader("Referer")}} は "referrer" という語のスペルミスです。 Referrer-Policy ヘッダーはこのスペルミスをしていません。
no-referrerno-referrer-when-downgradeoriginhttps://example.com/page.html にある文書からは、 https://example.com/ というリファラーが送信されます。origin-when-cross-originsame-originstrict-originstrict-origin-when-cross-origin (既定値)no-referrer-when-downgrade でした。このポリシーは、 HTTPS リソースの URL から安全ではないオリジンへプライベートである可能性がある情報を漏洩します。設定する場合は影響をよく検討してください。
HTML 内でリファラーポリシーを設定することもできます。例えば、 {{HTMLElement("meta")}} 要素で name に referrer を設定することで、文書全体のリファラーポリシーを設定することができます。
<meta name="referrer" content="origin">
{{HTMLElement("a")}}, {{HTMLElement("area")}}, {{HTMLElement("img")}}, {{HTMLElement("iframe")}}, {{HTMLElement("script")}}, {{HTMLElement("link")}} の各要素に referrerpolicy 属性を指定し、個別のリクエストにリファラーポリシーを設定することもできます。
<a href="http://example.com" referrerpolicy="origin">
他に、 noreferrer link 関係を a, area, link の各要素に設定することもできます。
<a href="http://example.com" rel="noreferrer">
上記のように、 noreferrer link 関係はダッシュ記号を用いずに記述されます。 {{HTMLElement("meta")}} 要素で文書全体のリファラーポリシーを指定するときはダッシュをつけて次のように記述します: <meta name="referrer" content="no-referrer">
CSS はスタイルシートから参照されるリソースにアクセスすることがあります。これらのリソースは同様にリファラーポリシーに従います。
Referrer-Policy ヘッダーにより上書きされない限り、既定のポリシー (strict-origin-when-cross-origin) が使用されます。style 属性については、所有者の文書のリファラーポリシーが使用されます。| ポリシー | 文書 | 移動先 | リファラー |
|---|---|---|---|
no-referrer |
https://example.com/page | どこへでも | (リファラーなし) |
no-referrer-when-downgrade |
https://example.com/page | https://example.com/otherpage | https://example.com/page |
| https://mozilla.org | https://example.com/page | ||
| http://example.org | (リファラーなし) | ||
origin |
https://example.com/page | どこへでも | https://example.com/ |
origin-when-cross-origin |
https://example.com/page | https://example.com/otherpage | https://example.com/page |
| https://mozilla.org | https://example.com/ | ||
| http://example.com/page | https://example.com/ | ||
same-origin |
https://example.com/page | https://example.com/otherpage | https://example.com/page |
| https://mozilla.org | (リファラーなし) | ||
strict-origin |
https://example.com/page | https://mozilla.org | https://example.com/ |
| http://example.org | (リファラーなし) | ||
| http://example.com/page | どこへでも | http://example.com/ | |
strict-origin-when-cross-origin |
https://example.com/page | https://example.com/otherpage | https://example.com/page |
| https://mozilla.org | https://example.com/ | ||
| http://example.org | (リファラーなし) | ||
unsafe-url |
https://example.com/page?q=123 | どこへでも | https://example.com/page?q=123 |
必要なポリシーのブラウザーの対応状況が十分ではなく、代替ポリシーを設定したい場合は、カンマ区切りのリストを使用し、必要なポリシーを最後に指定してください。
Referrer-Policy: no-referrer, strict-origin-when-cross-origin
上記のシナリオでは、 no-referrer はブラウザーが strict-origin-when-cross-origin に対応していない場合のみ使用されます。
複数の値を設定する方法は、 HTTP の Referrer-Policy ヘッダーのみが対応しており、 referrerpolicy 属性では対応していません。
Firefox のユーザー設定では既定のリファラーポリシーを構成できます。設定名はバージョンにより異なります:
network.http.referer.defaultPolicy (プライベートネットワークでは network.http.referer.defaultPolicy.pbmode)network.http.referer.userControlPolicyどちらも同じ設定値をとります: 0 = no-referrer, 1 = same-origin, 2 = strict-origin-when-cross-origin, 3 = no-referrer-when-downgrade
| 仕様書 | 状態 |
|---|---|
| Referrer Policy | 編集者草稿 |
{{Compat("http.headers.Referrer-Policy")}}