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

3. リンク

本仕様において、リンクとは、国際化リソース識別子 (Internationalised Resource Identifiers, IRI) [RFC3987] によって識別される二つのリソース間の型付き接続であり、次から構成されます。

o コンテキスト IRI (context IRI)、

o リンク関係タイプ (link relation type)(第 4 章)、

o ターゲット IRI (target IRI)、および

o オプションで、ターゲット属性 (target attributes)。

リンクは、「{コンテキスト IRI} は {ターゲット IRI} に {関係タイプ} のリソースを持ち、それは {ターゲット属性} を持つ」という形式の表明として見ることができます。

一般的なケースでは、コンテキスト IRI は URI [RFC3986] でもあることに注意してください。多くのプロトコル(HTTP など)が IRI の逆参照をサポートしていないためです。同様に、IRI をサポートしないシリアライゼーション(例えば Link ヘッダー)では、ターゲット IRI は URI に変換されます([RFC3987] の 3.1 節を参照)。

本仕様は、リンクの基数に制限を設けません。特定の IRI への、および特定の IRI からの複数のリンクが存在し得ますし、与えられた二つの IRI の間に異なるタイプの複数のリンクが存在し得ます。同様に、任意のシリアライゼーション内での、あるいはシリアライゼーション間での(例えば Link ヘッダーとコンテンツ内のリンクの間での)リンクの相対的な順序は、本仕様では規定されておらず、また重要でもありません。順序を重要と見なしたいアプリケーションは、そうすることができます。

ターゲット属性は、リンクまたはそのターゲットを記述するキーと値のペアの集合です。例えば、メディアタイプのヒントがあります。本仕様は、それらの名前や用途を調整しようとはしませんが、Link HTTP ヘッダーで使用するための共通のターゲット属性を提供します。

最後に、本仕様はリンクを表現するための一般的な構文を定義せず、また任意のリンクに対して特定のコンテキストを義務付けるものでもありません。リンクのシリアライゼーションがその両方の側面を規定することが想定されています。そのようなシリアライゼーションの一つが、第 5 章で規定される、HTTP ヘッダーを通じたリンクの伝達です。