Qu'est-ce que le repos?
Transfert d'État représentatif. Il décrit comment un système peut communiquer avec un autre État. Un exemple serait l'état d'un produit (son nom, sa description, etc.) représenté par XML, JSON ou un texte brut. L'idée généralisée d'état est appelée une ressource.
Quelle position occupe-t-il dans un écosystème d'architecture Web?
REST est généralement associé à l'interface de services Web, car HTTP est de loin le protocole opérateur le plus courant. Dans le modèle à 7 couches, il existe au niveau de la couche d'application . Cependant, voir la section suivante.
À quel point est-il couplé au protocole?
REST n'est pas HTTP. Il utilise HTTP car, dans sa forme la plus générale, REST existe pour aider une machine à mapper le concept de verbe sur une collection arbitraire de noms. HTTP contient un ensemble utile de verbes génériques (GET, PUT, PATCH, etc.) pouvant être appliqués à des noms arbitraires exprimés en URI à l'aide de HTTP, par exemple, GET http://example.org/Product(54 ).
Quelles sont les alternatives à REST et comment se compare-t-il à REST
Cela revient à demander "Quel est le degré de repos de mon approche?" Utilisez la liste suivante (résumée à partir du modèle de maturité Richardson décrit par Martin Fowler ):
Niveau 0 - Le marais de POX
Utilisez POST pour tout (lit, écrit, supprime). C'est SOAP, POX, RPI, etc. Vous utilisez simplement HTTP comme tunnel pour votre propre protocole. Vous ciblez un seul point de terminaison qui fait tout en fonction du contenu du corps de la demande.
Niveau 1 - Ressources
Utilisez POST pour tout. Ciblez plusieurs terminaux conçus pour diffuser des informations sur un objet particulier. Vous venez de découvrir des ressources.
Niveau 2 - Verbes HTTP
Utilisez les verbes HTTP contre les ressources. Maintenant, vous l'obtenez. Le POST consiste à créer, PUT à écraser, les OPTIONS pour les opérations disponibles, SUPPRIMER pour supprimer la ressource. En raison de l'utilisation de ces verbes, différents codes de statut HTTP commencent à devenir plus pertinents (202 ACCEPTED any??).
Niveau 3 - Contrôle Hypermédia ( HATEOAS )
À ce stade, vous faites le dernier saut et introduisez l'hypermédia en tant que mécanisme de contrôle de flux. Un client REST n'a pas besoin de connaissances préalables sur la manière d'interagir avec une application ou un serveur particulier au-delà d'une compréhension générique de l'hypermédia. Cela peut être communiqué en HTTP via le champ d'en-tête Content-Type. Les formats de texte incluent AtomPub et (plus concis) HAL , tandis que HyperAudio fonctionne bien pour les flux audio (voir SoundCloud et al).