Movatterモバイル変換


[0]ホーム

URL:


  1. 開発者向けのウェブ技術
  2. HTTP
  3. リファレンス
  4. ヘッダー
  5. Referrer-Policy

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。

View in EnglishAlways switch to English

Referrer-Policy ヘッダー

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2020年1月.

* Some parts of this feature may have varying levels of support.

HTTP のReferrer-Policyレスポンスヘッダーで、リファラー情報Referer ヘッダーで送られる)をリクエストにどれだけ含めるかを制御します。 HTTP ヘッダーのほかに、HTML でこのポリシーを設定することもできます。

ヘッダー種別レスポンスヘッダー

構文

http
Referrer-Policy: no-referrerReferrer-Policy: no-referrer-when-downgradeReferrer-Policy: originReferrer-Policy: origin-when-cross-originReferrer-Policy: same-originReferrer-Policy: strict-originReferrer-Policy: strict-origin-when-cross-originReferrer-Policy: unsafe-url

メモ:元のヘッダー名であるReferer は "referrer" という語のスペルミスです。Referrer-Policy ヘッダーはこのスペルミスをしていません。

ディレクティブ

no-referrer

Referer ヘッダーが省略されます。送信されるリクエストにはリファラー情報が含まれません。

no-referrer-when-downgrade

プロトコルのセキュリティ水準が同一であるか向上する場合 (HTTP→HTTP, HTTP→HTTPS, HTTPS→HTTPS) は、オリジン、パス、クエリー文字列がReferer ヘッダーで送信されます。セキュリティ水準が低下するリクエスト (HTTPS→HTTP, HTTPS→file) ではReferer ヘッダーが送信されません。

origin

オリジンのみがReferer ヘッダーで送信されます。たとえば、https://example.com/page.html にある文書からは、https://example.com/ というリファラーが送信されます。

origin-when-cross-origin

同一のプロトコル水準 (HTTP→HTTP, HTTPS→HTTPS) で同一オリジンのリクエストを行う場合はオリジン、パス、クエリー文字列を送信します。別オリジンへのリクエストや安全性の低下する移動先 (HTTPS→HTTP) ではオリジンのみを送信します。

same-origin

同一オリジンのリクエストではオリジン、パス、クエリー文字列を送信します。別オリジンへのリクエストではReferer ヘッダーを送信しません。

strict-origin

プロトコルのセキュリティ水準が同じである場合 (HTTPS→HTTPS) にオリジンのみを送信します。安全性の低下する移動先 (HTTPS→HTTP) にはReferer ヘッダーを送信しません。

strict-origin-when-cross-origin (既定値)

同一オリジンのリクエストを行う際はオリジン、パス、クエリー文字列を送信します。別オリジンへのリクエストでは、プロトコルのセキュリティ水準が同じである場合 (HTTPS→HTTPS) にオリジンのみを送信します。安全性の低下する移動先 (HTTPS→HTTP) にはReferer ヘッダーを送信しません。

メモ:これはポリシーが指定されていない場合や、与えられた値が無効であった場合の既定のポリシーです (仕様書改訂November 2020 を参照) 。以前の既定値はno-referrer-when-downgrade でした。

unsafe-url

セキュリティに関係なく、どのリクエストを行った場合でも、オリジン、パス、クエリー文字列を送信します。

警告:このポリシーは、 HTTPS リソースの URL から安全ではないオリジンへプライベートである可能性がある情報を漏洩します。設定する場合は影響をよく検討してください。

HTML との統合

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

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

<a>,<area>,<img>,<iframe>,<script>,<link> の各要素にreferrerpolicy 属性を指定し、個別のリクエストにリファラーポリシーを設定することもできます。

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

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

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

警告:上記のように、noreferrer link 関係はダッシュ記号を用いずに記述されます。<meta> 要素で文書全体のリファラーポリシーを指定するときはダッシュをつけて<meta name="referrer" content="no-referrer"> のように記述します。

CSS との統合

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

  • 外部の CSS スタイルシートでは、そのレスポンスのReferrer-Policy ヘッダーにより上書きされない限り、既定のポリシー (strict-origin-when-cross-origin) が使用されます。
  • <style> 要素またはstyle 属性については、所有者の文書のリファラーポリシーが使用されます。

no-referrer

基点の文書移動先使用されるリファラー
https://example.com/pageすべての場所(リファラーなし)

no-referrer-when-downgrade

基点の文書移動先使用されるリファラー
https://example.com/pagehttps://example.com/otherpagehttps://example.com/page
https://example.com/pagehttps://mozilla.orghttps://example.com/page
https://example.com/pagehttp://example.com(リファラーなし)
http://example.com/pageすべての場所http://example.com/page

origin

基点の文書移動先使用されるリファラー
https://example.com/pageすべての場所https://example.com/

origin-when-cross-origin

基点の文書移動先使用されるリファラー
https://example.com/pagehttps://example.com/otherpagehttps://example.com/page
https://example.com/pagehttps://mozilla.orghttps://example.com/
https://example.com/pagehttp://example.com/pagehttps://example.com/

same-origin

基点の文書移動先使用されるリファラー
https://example.com/pagehttps://example.com/otherpagehttps://example.com/page
https://example.com/pagehttps://mozilla.org(リファラーなし)

strict-origin

基点の文書移動先使用されるリファラー
https://example.com/pagehttps://mozilla.orghttps://example.com/
https://example.com/pagehttp://example.com(リファラーなし)
http://example.com/pageすべての場所http://example.com/

strict-origin-when-cross-origin

基点の文書移動先使用されるリファラー
https://example.com/pagehttps://example.com/otherpagehttps://example.com/page
https://example.com/pagehttps://mozilla.orghttps://example.com/
https://example.com/pagehttp://example.com(リファラーなし)

unsafe-url

基点の文書移動先使用されるリファラー
https://example.com/page?q=123すべての場所https://example.com/page?q=123

代替ポリシーの指定

必要なポリシーのブラウザーの対応状況が十分ではなく、代替ポリシーを設定したい場合は、カンマ区切りのリストを使用し、必要なポリシーを最後に指定してください。

http
Referrer-Policy: no-referrer, strict-origin-when-cross-origin

上記のシナリオでは、no-referrer はブラウザーがstrict-origin-when-cross-origin に対応していない場合のみ使用されます。

メモ:複数の値を設定する方法は、 HTTP のReferrer-Policy ヘッダーのみが対応しており、referrerpolicy 属性では対応していません。

ブラウザー固有の設定

Firefox の設定

Firefox のユーザー設定では既定のリファラーポリシーを構成できます。設定名はバージョンにより異なります。

  • Firefox バージョン 59 以降:network.http.referer.defaultPolicy (プライベートネットワークではnetwork.http.referer.defaultPolicy.pbmode)
  • Firefox バージョン 53 から 58:network.http.referer.userControlPolicy

どちらも0 = no-referrer,1 = same-origin,2 = strict-origin-when-cross-origin,3 = no-referrer-when-downgrade と、同じ設定値をとります。

仕様書

Specification
Referrer Policy
# referrer-policy-header

ブラウザーの互換性

関連情報

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp