Aller au contenu principal

3.2. Liens

3.2. Liens

Une autre pratique courante consiste à supposer que la structure URI du serveur est bien connue et peut être calculée par le client. Cela peut être vu dans les spécifications qui imposent des exigences sur la présence, la syntaxe et la sémantique des composants et sous-composants URI.

Bien que cela rende l'utilisation de telles API pratique, cela couple également étroitement le client au serveur. Ce couplage peut devenir un handicap (par exemple, lorsque le serveur veut changer la manière dont les URI sont alloués).

Une approche plus flexible consiste à utiliser des liens intégrés dans les représentations ou dans les champs d'en-tête (par exemple, Link ou Location). De cette manière, le client n'a pas besoin de connaître la structure de l'espace URI du serveur; il doit seulement comprendre comment découvrir le lien pertinent et le déréférencer. Ceci est parfois appelé "hypermédia comme moteur de l'état de l'application" ou "HATEOAS".

Voir [WEB-LINKING] pour plus d'informations et [RFC8288] pour le champ d'en-tête Link.