リファラーポリシー

W3C 候補勧告,

このバージョン:
https://www.w3.org/TR/2017/CR-referrer-policy-20170126/
最新公開バージョン:
https://www.w3.org/TR/referrer-policy/
前のバージョン:
https://www.w3.org/TR/2016/WD-referrer-policy-20161222/
編集者ドラフト:
https://w3c.github.io/webappsec-referrer-policy/
バージョン履歴:
https://github.com/w3c/webappsec-referrer-policy/commits/master/index.src.html
フィードバック:
public-webappsec@w3.org 件名「[referrer-policy] … メッセージのトピック …」で (アーカイブ)
課題管理:
GitHub
仕様内インライン
編集者:
(Google Inc.)
(Google Inc.)

概要

この文書は、著者が作成する文書にリファラーポリシーを設定する方法と、そのポリシーが送信リクエストやナビゲーション時の Referer HTTPヘッダーに与える影響について説明します。

この文書のステータス

このセクションは、公開時点でのこの文書のステータスについて説明しています。他の文書がこの文書に取って代わる場合があります。W3Cの現行出版物およびこの技術報告書の最新改訂版一覧は、W3C技術報告書インデックス(https://www.w3.org/TR/)に掲載されています。

この文書は Webアプリケーションセキュリティ作業グループ によって候補勧告として公開されました。 本文書はW3C勧告となることを意図しています。 この文書は までは少なくとも候補勧告として維持され、広範なレビューの機会を確保します。

(アーカイブ) 公開メーリングリスト public-webappsec@w3.org手順参照) は本仕様の議論に推奨されます。 メールを送信する際は、 件名に「referrer-policy」の文字列を含めてください。 できればこのように記載してください: 「[referrer-policy] …コメントの要約…

候補勧告としての公開は、W3C会員による支持を意味するものではありません。これはドラフト文書であり、いつでも更新・置き換え・廃止される可能性があります。進行中の作業以外として引用するのは不適切です。

本文書が提案勧告段階に進むための基準は、本仕様のすべての機能を実装した、最低2つの独立かつ相互運用可能なユーザーエージェントが存在することです。これは作業グループが作成したテストスイートのユーザーエージェントテスト合格により判断されます。作業グループは進捗を追跡する実装報告書を準備します。

本文書は 2004年2月5日W3C特許ポリシーの下で活動するグループによって作成されました。 W3Cはグループ成果物に関連する公開特許開示リストを管理しています。 そのページには特許開示の手順も掲載されています。 個人が必須クレームを含むと考える特許を実際に知っている場合は、W3C特許ポリシー第6節に従って情報を開示する必要があります。

本文書は 2015年9月1日W3Cプロセス文書 に準拠しています。

1. はじめに

このセクションは規範的ではありません。

ドキュメントからのリクエストや、そのドキュメントからのナビゲーションは Referer ヘッダーと関連付けられます。noreferrer リンク型を用いることでこのヘッダーを抑制できますが、著者は様々な理由で Referer ヘッダーをより直接的に制御したい場合があります:

1.1. プライバシー

ソーシャルネットワーキングサイトは各ユーザーのプロフィールページを持ち、ユーザーはお気に入りのバンドへのリンクをプロフィールページに追加します。サイトは他ユーザーがそのリンクを辿った際、バンドのウェブサイトにユーザーのプロフィールURLが漏れることを望まない場合があります(プロフィールURLがプロフィール所有者の身元を明らかにする可能性があるため)。

しかし一部のソーシャルネットワーキングサイトは、バンドのウェブサイトにリンク元がそのソーシャルネットワーキングサイトであることを伝えたいが、どのユーザーのプロフィールからのリンクかは明かしたくない場合もあります。

1.2. セキュリティ

ウェブアプリケーションがHTTPSおよびURLベースのセッション識別子を利用している場合、他サイトのHTTPSリソースへのリンク時にユーザーのセッション識別子がURLから漏れることを防ぎたいことがあります。

また、ウェブアプリケーションがURL自体に何らかの権限を付与している場合、リファラーの制御によってこれらの権限付きURLがリファラーヘッダー経由で漏洩するのを防ぐことができます。 [CAPABILITY-URLS]

ただし、権限付きURLが漏洩する方法は他にもあるため、リファラーの制御だけでは全ての漏洩を防ぐことはできません。

1.3. トラックバック

HTTPSでホストされたブログが、HTTPでホストされたブログにリンクし、トラックバックリンクを受け取りたい場合があります。

2. 主な概念と用語

リファラーポリシー
リファラーポリシーは、フェッチによるサブリソース取得、プリフェッチ、ナビゲーション時に Referer ヘッダーを生成するアルゴリズムを変更します。本書では各リファラーポリシーごとの挙動を定義します。

全ての environment settings objectリファラーポリシー取得アルゴリズムを持ち、その リクエストclient がその environment settings object となる場合、デフォルトで使われます。

同一オリジンリクエスト
Request request同一オリジンリクエストとなるのは、requestoriginrequestcurrent urloriginthe same である場合です。
クロスオリジンリクエスト
Request同一オリジンない場合は クロスオリジンリクエストです。

3. リファラーポリシー

リファラーポリシー は空文字列、"no-referrer"、 "no-referrer-when-downgrade"、"same-origin"、 "origin"、"strict-origin"、 "origin-when-cross-origin"、 "strict-origin-when-cross-origin"、または "unsafe-url" です。

enum ReferrerPolicy {
  "",
  "no-referrer",
  "no-referrer-when-downgrade",
  "same-origin",
  "origin",
  "strict-origin",
  "origin-when-cross-origin",
  "strict-origin-when-cross-origin",
  "unsafe-url"
};

リファラーポリシーの詳細は以下で説明します。それらの効果を評価するための詳細なアルゴリズムは、§5 Fetchとの統合および§8 アルゴリズムセクションで示されています。

注: environment settings object のリファラーポリシーは、その environment settings objectrequest client として使用される場合のリクエストに対するデフォルトの基準ポリシーを提供します。このポリシーは、 noreferrer リンク型などの仕組みによって特定のリクエストで強化されることがあります。

3.1. "no-referrer"

最も単純なポリシーは "no-referrer" であり、特定の request client から任意の origin へのリクエストにリファラー情報を一切送信しないことを指定します。ヘッダー自体が完全に省略されます。

https://example.com/page.html のドキュメントが "no-referrer" ポリシーを設定した場合、https://example.com/(またはその他のURL)へのナビゲーションでは Referer ヘッダーは送信されません。

3.2. "no-referrer-when-downgrade"

"no-referrer-when-downgrade" ポリシーは、TLSで保護された environment settings object から 潜在的に信頼できるURL へのリクエストや、clientTLS保護されている場合は、任意の origin へのリクエストに完全なURLを送信します。

一方、TLS保護された client から非潜在的に信頼できるURLへのリクエストには、リファラー情報は含まれません。 Referer HTTPヘッダーは送信されません。

https://example.com/page.html のドキュメントが "no-referrer-when-downgrade" ポリシーを設定した場合、https://not.example.com/ へのナビゲーションでは Referer HTTPヘッダーに https://example.com/page.html の値が送信されます。どちらのリソースも非潜在的に信頼できるURLのオリジンではないためです。

同じページから http://not.example.com/ へのナビゲーションでは Referer ヘッダーは送信されません。

この動作は、特にポリシーが指定されていない場合のユーザーエージェントのデフォルト動作です。

3.3. "same-origin"

"same-origin" ポリシーは、特定の client から 同一オリジンリクエストを行う際、リファラーとして使用するために 加工された完全なURLを送信することを指定します。

クロスオリジンリクエストの場合は、リファラー情報は含まれず、 Referer HTTPヘッダーは送信されません。

https://example.com/page.html のドキュメントが "same-origin" ポリシーを設定した場合、https://example.com/not-page.html へのナビゲーションでは Referer ヘッダーの値として https://example.com/page.html が送信されます。

同じページから https://not.example.com/ へのナビゲーションでは Referer ヘッダーは送信されません。

3.4. "origin"

"origin" ポリシーは、特定の request client から 同一オリジンリクエストおよびクロスオリジンリクエストを行う際、オリジンのASCII直列化のみをリファラー情報として送信することを指定します。

注: オリジンの直列化は https://example.com のようになります。ユーザーエージェントは Referer ヘッダーに有効なURLを送信するため、オリジンの末尾に U+002F SOLIDUS("/")文字(例:https://example.com/)を付加します。

注: "origin" ポリシーは、HTTPSリファラーのオリジンを暗号化されていないHTTPリクエストでネットワーク上に送信してしまいます。 この懸念には "strict-origin" ポリシーが対応しています。

https://example.com/page.html のドキュメントが "origin" ポリシーを設定した場合、任意の origin へのナビゲーションでは Referer ヘッダーの値として https://example.com/ が送信されます。これは、潜在的に信頼できるURLでない場合でも同様です。

3.5. "strict-origin"

"strict-origin" ポリシーは、リクエストを行う際に オリジンのASCII直列化を送信します:

TLS保護された request client から非潜在的に信頼できるURLへのリクエストには、リファラー情報は含まれません。 Referer HTTPヘッダーは送信されません。

https://example.com/page.html のドキュメントが "strict-origin" ポリシーを設定した場合、https://not.example.com へのナビゲーションでは Referer ヘッダーの値として https://example.com/ が送信されます。

同じページから http://not.example.com へのナビゲーションでは Referer ヘッダーは送信されません。

http://example.com/page.html のドキュメントが "strict-origin" ポリシーを設定した場合、http://not.example.comhttps://example.com へのナビゲーションでは Referer ヘッダーの値として http://example.com/ が送信されます。

3.6. "origin-when-cross-origin"

"origin-when-cross-origin" ポリシーは、特定の request client から 同一オリジンリクエストを行う際は、リファラー用に加工された完全なURLをリファラー情報として送信し、クロスオリジンリクエストの場合は オリジンのASCII直列化のみをリファラー情報として送信します。

注: "origin-when-cross-origin" ポリシーでは、プロトコルのアップグレード(例えば http://example.com/ から https://example.com/ へのリクエスト)も クロスオリジンリクエストとみなします。

注: "origin-when-cross-origin" ポリシーは、HTTPSリファラーのオリジンを暗号化されていないHTTPリクエストにも送信してしまいます。この懸念には "strict-origin-when-cross-origin" ポリシーが対応しています。

https://example.com/page.html のドキュメントが "origin-when-cross-origin" ポリシーを設定した場合、https://example.com/not-page.html へのナビゲーションでは Referer ヘッダーの値として https://example.com/page.html が送信されます。

同じページから https://not.example.com/ へのナビゲーションでは Referer ヘッダーの値として https://example.com/ が送信されます。これは潜在的に信頼できるURLでない場合も同様です。

3.7. "strict-origin-when-cross-origin"

"strict-origin-when-cross-origin" ポリシーは、特定の request client から 同一オリジンリクエストを行う際は、リファラー用に加工された完全なURLをリファラー情報として送信し、クロスオリジンリクエストの場合は下記条件で オリジンのASCII直列化のみを送信します:

TLS保護された client から非潜在的に信頼できるURLへのリクエストには、リファラー情報は含まれません。 Referer HTTPヘッダーは送信されません。

https://example.com/page.html のドキュメントが "strict-origin-when-cross-origin" ポリシーを設定した場合、https://example.com/not-page.html へのナビゲーションでは Referer ヘッダーの値として https://example.com/page.html が送信されます。

同じページから https://not.example.com/ へのナビゲーションでは Referer ヘッダーの値として https://example.com/ が送信されます。

同じページから http://not.example.com/ へのナビゲーションでは Referer ヘッダーは送信されません。

3.8. "unsafe-url"

"unsafe-url" ポリシーは、特定の client から 同一オリジンリクエストおよびクロスオリジンリクエストの両方に対し、リファラー用に加工された完全なURLを必ず送信することを指定します。

https://example.com/sekrit.html のドキュメントが "unsafe-url" ポリシーを設定した場合、http://not.example.com/(および他の全てのオリジン)へのナビゲーションでは Referer HTTPヘッダーの値として https://example.com/sekrit.html が送信されます。

注: このポリシー名が示す通り、これは危険です。このポリシーは TLSで保護されたリソースのオリジンやパスを非セキュアなオリジンに漏らします。機微なドキュメントにこのポリシーを設定する場合は十分に影響を考慮してください。

3.9. 空文字列

空文字列 "" は リファラーポリシーが存在しないことに対応し、他の場所で定義されているリファラーポリシーにフォールバックします。もし上位のポリシーがなければ、"no-referrer-when-downgrade"にデフォルトで切り替わります。 このデフォルト化は§8.3 リクエストのリファラー決定アルゴリズムで行われます。

HTMLのa要素に referrerpolicy 属性が宣言されていない場合、そのリファラーポリシーは空文字列です。したがって、そのa要素をクリックして発生したナビゲーションリクエストは リファラーポリシー がそのa要素のノードドキュメントのものとなります。そのDocumentのリファラーポリシーも空文字列なら、§8.3 リクエストのリファラー決定アルゴリズムでは空文字列は"no-referrer-when-downgrade"と同じように扱われます。

4. リファラーポリシーの配信

リクエストリファラーポリシーは、以下の5つの方法のいずれかで配信されます:

4.1. Referrer-Policyヘッダーによる配信

Referrer-Policy HTTP ヘッダーは、ユーザーエージェントがリクエスト時にどのリファラー情報を含めるべきか判断する際に適用するリファラーポリシーを指定します。また、保護されたリソースのコンテキストから作成される閲覧コンテキストにも適用されます。 ヘッダー名と値の構文は、以下のABNF構文で示されます:

"Referrer-Policy:" 1#policy-token
policy-token   = "no-referrer" / "no-referrer-when-downgrade" / "strict-origin" / "strict-origin-when-cross-origin" / "same-origin" / "origin" / "origin-when-cross-origin" / "unsafe-url"

注: このヘッダー名はHTTPのRefererヘッダーの綴り間違いとは異なります。

§5 Fetchとの統合および§6 HTMLとの統合Referrer-Policyヘッダーの処理方法を説明します。

4.1.1. 利用方法

このセクションは規範的ではありません。

保護されたリソースはReferrer-Policyヘッダーの値にno-referrerを指定することで、リファラー漏洩を防ぐことができます:

Referrer-Policy: no-referrer

これにより、その保護されたリソースのコンテキストから行われる全てのリクエストは空のRefererヘッダーとなります。

4.2. metaによる配信

このセクションは規範的ではありません。

HTML標準は meta 要素用に referrer キーワードを定義しており、マークアップ経由でリファラーポリシーを設定できます。

4.3. referrerpolicyコンテンツ属性による配信

このセクションは規範的ではありません。

HTML標準は リファラーポリシー属性 の概念を定義しており、例えば以下のように複数の要素に適用できます:

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

4.4. 入れ子になった閲覧コンテキスト

このセクションは規範的ではありません。

HTML標準およびFetch標準は、レスポンスから作成されない入れ子の閲覧コンテキスト(例えば iframe 要素の srcdoc 属性が設定されたものや、blob URLから作成されたもの)は、 作成元の閲覧コンテキストやblob URLからリファラーポリシーを継承します。

5. Fetchとの統合

このセクションは規範的ではありません。

Fetch仕様は、§8.2 リダイレクト時のリクエストのリファラーポリシー設定HTTPリダイレクト・フェッチのステップ13の前に呼び出し、リダイレクト前にリクエストのリファラーポリシーを更新できるようにしています。

Fetch仕様は、§8.3 リクエストのリファラー決定Main fetchアルゴリズムのステップ8で呼び出し、その結果をrequestreferrerプロパティに設定します。Fetchは指定されたURLを直列化し、requestRefererヘッダーを設定する責任を持ちます。

6. HTMLとの統合

このセクションは規範的ではありません。

HTML標準は、リファラーポリシーナビゲーションワーカーの実行時に受信したレスポンスに対して決定し、 その結果を生成されたDocument またはWorkerGlobalScopeのリファラーポリシーとして設定します。これは後に対応するenvironment settings objectによって、request clientとして開始されたフェッチに使用されます。

注: W3C HTML5はreferrerpolicyコンテンツ属性、referrerPolicy IDL属性、referrer キーワード(meta要素用)、ナビゲーションやワーカー実行との統合は定義していません。本仕様をW3C HTML5と整合させるには、これらを[HTML]から取り込む必要があります。

7. CSSとの統合

CSS標準は、スタイルシートから参照されたリソースをどのようにフェッチするかについては規定していません。ただし、実装ではスタイルシートから開始されるリクエストのリファラー関連プロパティを以下のように設定すべきです:

  1. CSS宣言ブロックがリクエストの責任を持つ場合は、 リファラーをブロックのowner nodeノードドキュメントURLに、リファラーポリシーをブロックのowner nodeノードドキュメントリファラーポリシーに設定する。
  2. CSSスタイルシートがリクエストの責任を持ち、 そのlocationがnullでない場合は、 リファラーをそのlocationに、リファラーポリシーをリファラーポリシーに設定する。

    この仕様では、CSSスタイルシートが`Referrer-Policy`ヘッダーを処理し、リファラーポリシーDocumentと同様に保存する必要があります。

  3. それ以外の場合、CSSスタイルシートlocationがnullの場合は、 リファラーをそのowner nodeノードドキュメントURLに、リファラーポリシーをブロックのowner nodeノードドキュメントリファラーポリシーに設定する。

注: リクエストリファラーリファラーポリシーの値は、 特定のリクエスト作成時点の値に基づいて設定されます。ドキュメントのリファラーポリシーが生存期間中に変更された場合、インラインスタイルシートリクエストに関連付けられるポリシーも変更されます。

8. アルゴリズム

8.1. Referrer-Policy ヘッダーからリファラーポリシーを解析する

Response response が与えられたとき、以下の手順は response の `Referrer-Policy` ヘッダーに従って リファラーポリシーを返します:

  1. policy-tokens を、パースした `Referrer-Policy` の responseヘッダーリストの結果とする。
  2. policy を空文字列とする。
  3. policy-tokens 内の各 token について、tokenリファラーポリシー であり、かつ空文字列でない場合、policytoken に設定する。

    注: このアルゴリズムが複数のポリシー値をループするのは、§11.1 未知のポリシー値で説明されているように、古いユーザーエージェント向けのフォールバックを含めて新ポリシー値を展開できるようにするためです。

  4. policy を返す。

8.2. リダイレクト時の request のリファラーポリシー設定

request request および response actualResponse が与えられたとき、このアルゴリズムは actualResponse の Referrer-Policy ヘッダー(あれば)に従って request の関連付けられた リファラーポリシーを更新します。

  1. policyactualResponse に対して §8.1 Referrer-Policyヘッダーからリファラーポリシーを解析する を実行した結果とする。
  2. policy が空文字列でなければ、request の関連リファラーポリシーを policy に設定する。

8.3. request のリファラー決定

Request request が与えられたとき、以下の手順で関連付けられた リファラーポリシーを調べ、送信すべきリファラー情報(`no referrer` またはURL)を返します:

  1. policyrequest の関連 リファラーポリシーとする。
  2. environmentrequestclient とする。
  3. requestreferrer の値に応じて分岐する:
    "client"
    1. environmentglobal objectWindow オブジェクトなら
      1. documentenvironment関連付けられた Document とする。
      2. documentorigin不透明オリジンなら no referrer を返す。
      3. documentiframe srcdocドキュメントなら documentdocument閲覧コンテキスト閲覧コンテキスト コンテナノードドキュメントとする。
      4. referrerSourcedocumentURLとする。
    2. それ以外の場合、referrerSourceenvironment作成URLとする。
    URL
    referrerSourcerequestreferrerとする。

    注: requestreferrer が "no-referrer" の場合、Fetchはこのアルゴリズムを呼び出しません。

  4. referrerURLreferrerSource をリファラー用に加工した結果とする。
  5. referrerOriginreferrerSource をリファラー用に加工origin-only flagtrue)した結果とする。
  6. policy の値に応じて以下を実行する:
    "no-referrer"
    no referrer を返す
    "origin"
    referrerOrigin を返す
    "unsafe-url"
    referrerURL を返す。
    "strict-origin"
    1. environment が null でなければ:
      1. environmentTLS保護されていて、かつ requestcurrent URL潜在的に信頼できるURLでない場合、no referrer を返す。
    2. referrerOrigin を返す。
    "strict-origin-when-cross-origin"
    1. request同一オリジンリクエストなら referrerURL を返す。
    2. environment が null でなければ:
      1. environmentTLS保護されていて、かつ requestcurrent URL潜在的に信頼できるURLでない場合
        1. no referrer を返す。
    3. referrerOrigin を返す。
    "same-origin"
    1. request同一オリジンリクエストなら referrerURL を返す。
    2. それ以外の場合、no referrer を返す。
    "origin-when-cross-origin"
    1. requestクロスオリジンリクエストなら referrerOrigin を返す。
    2. それ以外の場合、referrerURL を返す。
    "no-referrer-when-downgrade"
    1. environment が null でなければ:
      1. environmentTLS保護されていて、かつ requestcurrent URL潜在的に信頼できるURLでない場合、no referrer を返す。
    2. referrerURL を返す。

    注: Fetchはこのアルゴリズムを呼び出す前に requestリファラーポリシーが空文字列でないことを保証します。

8.4. リファラー用に url を加工する

URL の一部は `Referer` ヘッダー値として送信する際に含めてはなりません。URL のフラグメント、ユーザー名、パスワードは送信前に除去すべきです。 このアルゴリズムは origin-only flag を受け取ります。デフォルトは false です。true の場合はパスとクエリも除去し、スキーム・ホスト・ポートだけが残ります。

  1. urlnull なら no referrer を返す。
  2. urlschemeローカルスキームなら no referrer を返す。
  3. urlユーザー名 を空文字列に設定する。
  4. urlパスワードnull に設定する。
  5. urlフラグメントnull に設定する。
  6. origin-only flagtrue なら:
    1. urlパスnull に設定する。
    2. urlクエリnull に設定する。
  7. url を返す。

9. プライバシーに関する考慮事項

9.1. ユーザーコントロール

この仕様の内容は、ユーザーエージェントが `Referer` ヘッダーによって送信される情報を変更できるオプションをユーザーに提供することを妨げるものではありません。たとえば、ユーザーエージェントはページ上の有効なリファラーポリシーに関わらず、ユーザーにリファラーヘッダーを完全に抑制することを許可してもかまいません。

10. セキュリティに関する考慮事項

10.1. 情報漏洩

リファラーポリシーのうち、"origin""origin-when-cross-origin""unsafe-url"は、それぞれ安全なサイトのオリジンやURLを非安全な通信路で漏洩する可能性があります。

それでもこれら3つのポリシーが仕様に含まれている理由は、サイトが安全な通信路(セキュアトランスポート)へ移行する際の障壁を下げるためです。

デフォルトポリシー以上の情報を漏洩したくない著者は、代わりに"same-origin""strict-origin""strict-origin-when-cross-origin""no-referrer"のポリシー状態を使用してください。

10.2. より緩いポリシーへのダウングレード

仕様では、たとえば "no-referrer" から "unsafe-url" へのような、より緩いポリシーへのダウングレードを禁じていません。

一方で、どのポリシーが全ての組み合わせにおいてより厳格かは明確ではありません。たとえば、"no-referrer-when-downgrade" は非安全な通信路では一切情報を漏洩しませんが、"origin"は漏洩します。後者はクロスオリジンのナビゲーションではより少ない情報しか漏洩しません。

また、より緩いポリシーを設定できることで、§11.1 未知のポリシー値で述べたような安全なフォールバックを著者が定義できる利点もあります。

11. 著者向けの考慮事項

11.1. 未知のポリシー値

§8.1 Referrer-Policyヘッダーからリファラーポリシーを解析するmetareferrer アルゴリズムに記載の通り、未知のポリシー値は無視され、複数のソースでリファラーポリシーが指定された場合は一番最後の値が使用されます。これにより新しいポリシー値の展開が可能になります。

例えば古いユーザーエージェントが "unsafe-url"ポリシーを理解しない場合、サイト側は先に"origin"ポリシー、その後に"unsafe-url"ポリシーを指定できます。古いユーザーエージェントは未知の"unsafe-url"値を無視して"origin"を使用し、新しいユーザーエージェントは最後に処理された"unsafe-url"を使用します。

ただしこの挙動はreferrerpolicy属性には適用されません。著者はreferrerpolicy属性の値を動的に設定・取得することで、特定のポリシー値がサポートされているか検出できます。

12. 謝辞

この仕様はAdam Barth氏とJochen Eisinger氏の Meta referrer 文書を大いに参考にしています。

適合性

文書の慣例

適合性要件は、記述的な断定とRFC 2119の用語の組み合わせで示されています。規範的部分における「MUST」「MUST NOT」「REQUIRED」「SHALL」「SHALL NOT」「SHOULD」「SHOULD NOT」「RECOMMENDED」「MAY」「OPTIONAL」といったキーワードはRFC 2119で定義された通りに解釈されます。 ただし、読みやすさのため、これらの単語は本仕様書ではすべて大文字とは限りません。

この仕様の本文は、明示的に非規範的と示されたセクション、例、注記を除き、すべて規範的です。[RFC2119]

本仕様の例は「例えば」で始まるか、class="example"で規範的な本文から区別されています。例:

これは情報的な例です。

情報的注記は「注:」で始まり、class="note"によって規範的な本文から区別されます。例:

注:これは情報的な注記です。

適合するアルゴリズム

アルゴリズムの一部として命令形で表現された要件(例:「先頭の空白文字を取り除く」や「falseを返してこれらの手順を中止する」など)は、そのアルゴリズムの導入で使われているキーワード("must"、"should"、"may"など)の意味に従って解釈されます。

アルゴリズムや特定の手順として表現された適合性要件は、最終的な結果が同等である限り、どのような方法でも実装可能です。特に、本仕様で定義されるアルゴリズムは理解しやすいことを意図しており、必ずしも高いパフォーマンスを目的としていません。実装者は最適化を推奨します。

索引

本仕様で定義されている用語

参照により定義されている用語

参考文献

規範的な参考文献

[CSSOM-1]
Simon Pieters; Glenn Adams. CSS Object Model (CSSOM). 2016年3月17日. WD. URL: https://www.w3.org/TR/cssom-1/
[FETCH]
Anne van Kesteren. Fetch. 現行標準. URL: http://fetch.spec.whatwg.org/
[HTML]
Anne van Kesteren; et al. HTML標準. 現行標準. URL: https://html.spec.whatwg.org/multipage/
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. 1997年3月. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119
[RFC6454]
Adam Barth. The Web Origin Concept. RFC. URL: http://www.ietf.org/rfc/rfc6454.txt
[RFC7231]
Roy T. Fielding; Julian F. Reschke. HTTP/1.1 Semantics and Content. RFC. URL: http://www.ietf.org/rfc/rfc7231.txt
[SECURE-CONTEXTS]
Mike West. Secure Contexts. 2016年9月15日. CR. URL: https://www.w3.org/TR/secure-contexts/
[DOM4]
Anne van Kesteren, Aryeh Gregor, Ms2ger, Alex Russel, Robin Berjon. W3C DOM4, 2015年11月19日. REC. URL: https://www.w3.org/TR/dom
[WHATWG-URL]
Anne van Kesteren. URL標準. 現行標準. URL: https://url.spec.whatwg.org/
[WSC-UI]
Thomas Roessler; Anil Saldhana. Web Security Context: User Interface Guidelines. 2010年8月12日. REC. URL: https://www.w3.org/TR/wsc-ui/

参考情報

[CAPABILITY-URLS]
Jenni Tennison. Capability URLs. WD. URL: https://www.w3.org/TR/capability-urls/

IDL索引

enum ReferrerPolicy {
  "",
  "no-referrer",
  "no-referrer-when-downgrade",
  "same-origin",
  "origin",
  "strict-origin",
  "origin-when-cross-origin",
  "strict-origin-when-cross-origin",
  "unsafe-url"
};

課題索引

CSSスタイルシートは `Referrer-Policy` ヘッダーを処理し、リファラーポリシーDocument と同様に保存する必要があります