メインコンテンツまでスキップ

5. The Link Header Field (Linkヘッダーフィールド)

Linkヘッダーフィールドは、HTTPヘッダーでリンクをシリアライズする手段を提供します。

概要

セマンティクスの等価性:

  • HTMLの <LINK> 要素と等価
  • Atomの atom:link フィードレベル要素と等価

ABNF構文

Link           = "Link" ":" #link-value
link-value = "<" URI-Reference ">" *( ";" link-param )
link-param = ( ( "rel" "=" relation-types )
| ( "anchor" "=" <"> URI-Reference <"> )
| ( "hreflang" "=" Language-Tag )
| ( "media" "=" ( MediaDesc | ( <"> MediaDesc <"> ) ) )
| ( "title" "=" quoted-string )
| ( "title*" "=" ext-value )
| ( "type" "=" ( media-type | quoted-mt ) )
| ( link-extension ) )

構成要素

5.1. ターゲットIRI (Target IRI)

  • 山括弧 <> 内のURI-Referenceとして伝達
  • 相対URIはRFC 3986のセクション5に従って解決
  • メッセージコンテンツからのベースIRIは適用されません

5.2. コンテキストIRI (Context IRI)

  • デフォルト: リクエストされたリソースのIRI
  • オーバーライド: anchor パラメータを使用
  • フラグメントまたは第三のリソースを指定可能
  • 相対URIはRFC 3986に従って解決
  • 実装はアンカー付きリンクを無視してもよい (MAY)

5.3. 関係タイプ (Relation Type)

  • rel パラメータで指定
  • link-valueごとに1回以上出現してはなりません (MUST NOT)
  • rev パラメータ: 非推奨 (DEPRECATED)(逆方向)
  • 拡張タイプ:絶対URIでなければならず、; または , を含む場合は引用符で囲む必要があります

5.4. ターゲット属性 (Target Attributes)

標準パラメータ:

パラメータ説明
hreflangターゲットリソースの言語ヒント
mediaスタイル情報の対象メディア/媒体
title人間が読めるラベル
title*エンコードされたラベル (RFC 5987)
typeメディアタイプのヒント

使用規則:

  • hreflang: 複数回出現可能
  • media: ; または , を含む場合は引用符で囲む必要があります
  • title: 1回以上出現してはなりません (MUST NOT)
  • title*: 両方存在する場合は title よりも優先
  • type: メディアタイプのヒント、Content-Typeをオーバーライドしません

5.5. 例

シンプルなナビゲーション:

Link: `http://example.com/TheBook/chapter2`; rel="previous";
title="previous chapter"

拡張関係:

Link: </>; rel="http://example.net/foo"

エンコーディングを使用した複数のリンク:

Link: </TheBook/chapter2>;
rel="previous"; title*=UTF-8'de'letztes%20Kapitel,
</TheBook/chapter4>;
rel="next"; title*=UTF-8'de'n%c3%a4chstes%20Kapitel

関連: