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

3.2. Links (リンク)

もう 1 つの一般的な慣行は, サーバーの URI 構造がよく知られており, クライアントによって計算できると仮定することです。これは, URI コンポーネントとサブコンポーネントの存在, 構文, およびセマンティクスに関する要件を作成する仕様で見られます。

これにより, このような API の使用が便利になりますが, クライアントとサーバーも密接に結合されます。その結合は, サーバーが URI の割り当て方法を変更したい場合などに負債になる可能性があります。

より柔軟なアプローチは, 表現に埋め込まれたリンクまたはヘッダーフィールド (例: Link または Location) のリンクを使用することです。この方法では, クライアントはサーバーの URI 空間の構造を知る必要がありません; 関連するリンクを発見し, それを逆参照する方法を理解するだけで済みます。これは "アプリケーション状態のエンジンとしてのハイパーメディア" または "HATEOAS" と呼ばれることがあります。

詳細については [WEB-LINKING] を, Link ヘッダーフィールドについては [RFC8288] を参照してください。