Referer リクエストヘッダーには、現在リクエストされているページへのリンク先を持った直前のウェブページのアドレスが含まれています。 Referer ヘッダーにより、サーバーは人々がどこから訪問しに来たかを識別し、分析、ログ、キャッシュの最適化などに利用することができます。

なお、 referer は実際には "referrer" という単語のスペルミスです。詳しくは Wikipedia の HTTP リファラを参照してください。

Referer はプライバシー事項であるユーザーの閲覧履歴に関する情報を暴露する可能性があります。

ページにリスク情報が含まれていなくてもリンクされていた場合を含めて、最初にプライバシー、セキュリティ、関連するリスクの統制をチェックすることなく、リンクしたり中身を含めたりしないでください。

例えば、規定ではパスワードをリセットするページの URL は、ページ上のコンテンツを提供するサーバーや、ページでクリックされたリンクを提供するホストに漏洩します。

リンクされたページには、そのページで読み込まれたコンテンツが document.referrer からリファラーにアクセスすることができるという続くリスクがあります。

画像ホストなどの提供者本人のホストは、リファラーを取得する可能性があることによるセキュリティ上の責任を負うようなリスクは低いと考えられます。

Firefox などのブラウザーの中には、 HTML ページではなく、ビューの中にリファラーを送信するものもあります。例えば、 JsonView は JSON で URL がクリックされたときにリファラーを送信し、個人データを表示してしまうことがあります。例えば、 API キーが誤ってクエリパラメーターに使われている API でみられることがあります。

次のような場合は、ブラウザーは Referer ヘッダーを送信しません。

  • 参照していたリソースがローカルの "file" または "data" の URI の場合
  • 安全ではない HTTP リクエストが使用されており、それを参照しているページが安全なプロトコル (HTTPS) で受信された場合
ヘッダー種別 リクエストヘッダー
禁止ヘッダー名 はい

構文

Referer: <url>

ディレクティブ

<url>
現在リクエスト中のページにつながるリンクがある直前のページの、絶対または相対アドレスです。 URL フラグメント (つまり "#section") およびユーザー情報 ("https://username:password@example.com/foo/bar/" の "username:password" の部分) は含まれません。

Referer: https://developer.mozilla.org/en-US/docs/Web/JavaScript

仕様書

仕様書 題名
RFC 7231, セクション 5.5.2: Referer Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

ブラウザーの対応

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応 あり あり あり あり あり あり
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応 あり あり あり あり あり あり あり

関連情報

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

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