HTTP の Referrer-Policy ヘッダーは、 Referer ヘッダーで送られるリファラー情報を制御し、リクエストが行われる際に含められるものです。

ヘッダー種別 レスポンスヘッダー
禁止ヘッダー名 いいえ

構文

なお、 Referer は "referrer" のスペルミスです。 Referrer-Policy ヘッダーはこのスペルミスをしていません。

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

ディレクティブ

no-referrer
Referer ヘッダー全体が省略されます。リクエストとともにリファラー情報が送られることはありません。
no-referrer-when-downgrade (既定値)
これはポリシーが指定されていない場合のユーザーエージェントの既定の動作です。 URL はプロトコルのセキュリティレベルが同一である場合 (HTTP→HTTP, HTTPS→HTTPS) に送信されますが、セキュリティレベルが低下する場合 (HTTPS→HTTP)、リファラーは送信されません。
origin
どのような場合でも、 URL ではなくそのオリジンのみが送信されます。
たとえば、 https://example.com/page.html というページからは、 https://example.com/ のみがリファラーとして送信されます。
origin-when-cross-origin
同じオリジン間でリクエストを行う場合は URL 全体を送信しますが、その他の場合は文書のオリジンのみを送信します。
same-origin
同じオリジンにはリファラーが送信されますが、オリジン間リクエストではリファラー情報が含まれません。
strict-origin
プロトコルのセキュリティレベルが同じである場合 (HTTPS→HTTPS) にのみ、文書のオリジンをリファラーとして送信しますが、安全性の劣る移動先 (HTTPS→HTTP) には送信しません。
strict-origin-when-cross-origin
同じオリジン間でリクエストを行う際は URL 全体を送信し、プロトコルのセキュリティレベルが同じ場合 (HTTPS→HTTPS) はオリジンを送信し、安全性の劣る移動先 (HTTPS→HTTP) にはヘッダーを送信しません。
unsafe-url
同じオリジンでもオリジン間でも、リクエストを行うときに URL 全体を送信します。
このポリシーは、 TLS で保護されたリソースから安全ではないオリジンへオリジンやパスを漏洩します。設定する場合は影響をよく検討してください。

HTML との統合

HTML 文書内でリファラーポリシーを設定することもできます。例えば、 <meta> 要素で name に referrer を設定します。

<meta name="referrer" content="origin">

または、 <a>, <area>, <img>, <iframe>, <link> の各要素の referrerpolicy 属性を使用します。

<a href="http://example.com" referrerpolicy="origin">

他にも、 a, area, link 要素に noreferrer link 関係を設定することができます。

<a href="http://example.com" rel="noreferrer">

CSS との統合

CSS はスタイルシートから参照されるリソースにアクセスすることがあります。これらのリソースは同様にリファラーポリシーに従います。

外部 CSS スタイルシートは、 CSS スタイルシートに指定する HTTP ヘッダーを通じて上書きされない限り、既定のポリシー (no-referrer-when-downgrade) を使用します。

HTMLElement.style などのインラインスタイルシートや API から生成されたスタイルは、所有者の文書のリファラーポリシーが使用されます。

ポリシー 移動元 移動先 リファラー
no-referrer https://example.com/page.html あらゆるドメインやパス リファラーなし
no-referrer-when-downgrade https://example.com/page.html https://example.com/otherpage.html https://example.com/page.html
no-referrer-when-downgrade https://example.com/page.html https://mozilla.org https://example.com/page.html
no-referrer-when-downgrade https://example.com/page.html http://example.org リファラーなし
origin https://example.com/page.html あらゆるドメインやパス https://example.com/
origin-when-cross-origin https://example.com/page.html https://example.com/otherpage.html https://example.com/page.html
origin-when-cross-origin https://example.com/page.html https://mozilla.org https://example.com/
origin-when-cross-origin https://example.com/page.html http://example.com/page.html https://example.com/
same-origin https://example.com/page.html https://example.com/otherpage.html https://example.com/page.html
same-origin https://example.com/page.html https://mozilla.org リファラーなし
strict-origin https://example.com/page.html https://mozilla.org https://example.com/
strict-origin https://example.com/page.html http://example.org リファラーなし
strict-origin http://example.com/page.html あらゆるドメインやパス http://example.com/
strict-origin-when-cross-origin https://example.com/page.html https://example.com/otherpage.html https://example.com/page.html
strict-origin-when-cross-origin https://example.com/page.html https://mozilla.org https://example.com/
strict-origin-when-cross-origin https://example.com/page.html http://example.org リファラーなし
unsafe-url https://example.com/page.html?q=123 あらゆるドメインやパス https://example.com/page.html?q=123

仕様書

仕様書 状態
Referrer Policy Editor's draft

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応Chrome 完全対応 56Edge 未対応 なしFirefox 完全対応 50IE 未対応 なしOpera 完全対応 43Safari 完全対応 11.1WebView Android 完全対応 56Chrome Android 完全対応 56Edge Mobile 未対応 なしFirefox Android 完全対応 50Opera Android 完全対応 43Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.2
same-originChrome 完全対応 61Edge 未対応 なしFirefox 完全対応 52IE 未対応 なしOpera 完全対応 48Safari 完全対応 11.1WebView Android 完全対応 61Chrome Android 完全対応 61Edge Mobile 未対応 なしFirefox Android 完全対応 52Opera Android 完全対応 48Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.2
strict-originChrome 完全対応 61Edge 未対応 なしFirefox 完全対応 52IE 未対応 なしOpera 完全対応 48Safari 完全対応 11.1WebView Android 完全対応 61Chrome Android 完全対応 61Edge Mobile 未対応 なしFirefox Android 完全対応 52Opera Android 完全対応 48Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.2
strict-origin-when-cross-originChrome 完全対応 61Edge 未対応 なしFirefox 完全対応 52IE 未対応 なしOpera 完全対応 48Safari 完全対応 11.1WebView Android 完全対応 61Chrome Android 完全対応 61Edge Mobile 未対応 なしFirefox Android 完全対応 52Opera Android 完全対応 48Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.2

凡例

完全対応  
完全対応
未対応  
未対応

メモ:

  • バージョン 53 以降では、 Gecko は about:config の中でユーザーが Referrer-Policy の既定値を設定できる設定項目 ( network.http.referer.userControlPolicy) があります。
  • バージョン 59 以降では (#587523 を参照)、これは network.http.referer.defaultPolicy および network.http.referer.defaultPolicy.pbmode で置き換えられました。

指定可能な値は以下の通りです。

  • 0 — no-referrer
  • 1 — same-origin
  • 2 — strict-origin-when-cross-origin
  • 3 — no-referrer-when-downgrade (既定値)

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, myakura
最終更新者: mfuji09,