Aller au contenu principal

3. Liens

Dans cette spécification, un lien est une connexion typée entre deux ressources identifiées par des identificateurs de ressource internationalisés (IRI: Internationalised Resource Identifiers) [RFC3987], et il est composé de :

o un IRI de contexte (context IRI),

o un type de relation de lien (link relation type) (section 4),

o un IRI cible (target IRI), et

o éventuellement, des attributs de cible (target attributes).

Un lien peut être considéré comme un énoncé de la forme "{context IRI} a une ressource {relation type} à {target IRI}, qui a {target attributes}".

Notez que dans le cas courant, l'IRI de contexte sera également un URI [RFC3986], car de nombreux protocoles (tels que HTTP) ne prennent pas en charge le déréférencement des IRI. De même, l'IRI cible sera converti en URI (voir [RFC3987], section 3.1) dans les sérialisations qui ne prennent pas en charge les IRI (par exemple, le champ d'en-tête Link).

Cette spécification n'impose pas de restrictions sur la cardinalité des liens ; il peut y avoir plusieurs liens vers et depuis un IRI particulier, ainsi que plusieurs liens de types différents entre deux IRI donnés. De même, l'ordre relatif des liens dans une sérialisation particulière, ou entre sérialisations (par exemple, le champ d'en-tête Link et les liens dans le contenu), n'est ni spécifié ni significatif dans cette spécification ; les applications qui souhaitent considérer l'ordre comme significatif peuvent le faire.

Les attributs de cible sont un ensemble de paires clé/valeur qui décrivent le lien ou sa cible ; par exemple, une indication de type de média. Cette spécification ne tente pas de coordonner leurs noms ou leur utilisation, mais fournit des attributs de cible courants à utiliser dans le champ d'en-tête HTTP Link.

Enfin, cette spécification ne définit pas de syntaxe générale pour exprimer des liens, et n'impose pas non plus de contexte spécifique pour un lien donné ; il est attendu que les sérialisations de liens spécifient ces deux aspects. L'une de ces sérialisations est la communication de liens au moyen d'en-têtes HTTP, spécifiée à la section 5.