AZ Tools

Referrer-Policy ヘッダービルダー

ネットワーク

Referrer-Policy ヘッダーは、ユーザーがリンクをクリックしたり、ページがサブリソースリクエストを行ったりするときに、`Referer` リクエストヘッダーに URL がどれだけ含まれるかを制御する。このビルダーは、8 つの標準ポリシーのうちの 1 つを選び、重要な 3 つのシナリオで正確に何が送信されるかを見ることができる:同じオリジンへのリクエスト、HTTPS を介したクロスオリジンリクエスト、HTTP にダウングレードするクロスオリジンリクエスト。レスポンスヘッダーと `<meta>` フォームの両方が発せられるため、サーバーまたは CDN にキャッシュされた HTML 内からポリシーを適用できる。

レスポンスヘッダー
Referrer-Policy: strict-origin-when-cross-origin
メタタグフォーム
<meta name="referrer" content="strict-origin-when-cross-origin">
送信される内容
シナリオReferer 送信
同一オリジン(HTTPS→HTTPS、同じホスト)https://app.example.com/page?id=42
クロスオリジン(HTTPS→HTTPS、異なるホスト)https://api.other.com
ダウングレード(HTTPS→HTTP)(no header)

すべての HTML レスポンスにヘッダーを適用する。`<meta>` フォームは、ヘッダーを制御できないとき(ヘッダーを設定させない静的ホスティングなど)に役立つ。

使い方

  1. ポリシーを選ぶ。現代のブラウザのデフォルトは `strict-origin-when-cross-origin` — HTTPS から HTTPS にクロスオリジンするときはオリジンのみを漏らし、ダウングレードでは何も漏らさない。
  2. 3 つの例の行を読んで、ブラウザが正確に何を送るかを見る。
  3. レスポンスヘッダー(推奨)または `<meta>` タグ(ヘッダーを制御できない HTML ページ内で動作する)をコピーする。

よくある質問

安全なデフォルトポリシーは?
`strict-origin-when-cross-origin`。同一オリジンには完全な URL(分析は引き続き動作)、クロスオリジン HTTPS にはオリジンのみ、HTTP にダウングレードするときは何もない。これは、ポリシーを設定しない場合、現代のブラウザの暗黙のデフォルト。
なぜ `unsafe-url` がフラグされる?
HTTPS→HTTP ダウングレードを含むすべての宛先に完全な URL(クエリ文字列を含む)を送信する。クエリ文字列には、しばしばトークン、ID、個人情報が含まれる — `unsafe-url` はそれらをネットワークと、宛先にある広告 / 分析 / 埋め込みに漏らす。

関連ツール