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) または改善される場合 (HTTP→HTTPS) に送信されますが、低下する場合 (HTTPS→HTTP) は、リファラーは送信されません。
origin
文書のオリジンのみがリファラーとして送信されます。
たとえば、 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 全体を送信します。

このポリシーは、 HTTPS のリソースから安全ではないオリジンへオリジンやパスを漏洩します。設定する場合は影響をよく検討してください。

HTML との統合

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

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

また、 <a>, <area>, <img>, <iframe>, <script>, <link> の各要素の referrerpolicy 属性によって、個別のリクエストに設定することもできます。

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

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

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

CSS との統合

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

  • 外部 CSS スタイルシートは、 CSS スタイルシートに指定する HTTP ヘッダーを通じて上書きされない限り、既定のポリシー (no-referrer-when-downgrade) を使用します。
  • <style> 要素または 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 Editor's draft

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
Referrer-PolicyChrome 完全対応 56Edge 未対応 なしFirefox 完全対応 50IE 未対応 なしOpera 完全対応 43Safari 完全対応 11.1WebView Android 完全対応 56Chrome Android 完全対応 56Firefox Android 完全対応 50Opera Android 完全対応 43Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.2
same-originChrome 完全対応 61Edge 未対応 なしFirefox 完全対応 52IE 未対応 なしOpera 完全対応 48Safari 完全対応 11.1WebView Android 完全対応 61Chrome Android 完全対応 61Firefox Android 完全対応 52Opera Android 完全対応 45Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.2
strict-originChrome 完全対応 61Edge 未対応 なしFirefox 完全対応 52IE 未対応 なしOpera 完全対応 48Safari 完全対応 11.1WebView Android 完全対応 61Chrome Android 完全対応 61Firefox Android 完全対応 52Opera Android 完全対応 45Safari iOS 未対応 なしSamsung Internet Android 完全対応 7.2
strict-origin-when-cross-originChrome 完全対応 61Edge 未対応 なしFirefox 完全対応 52IE 未対応 なしOpera 完全対応 48Safari 完全対応 11.1WebView Android 完全対応 61Chrome Android 完全対応 61Firefox Android 完全対応 52Opera Android 完全対応 45Safari 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, mdnwebdocs-bot, silverskyvicto, myakura
最終更新者: mfuji09,