REST
Signifie « Representational State Transfer ».
REST est un ensemble défini de normes permettant de transférer des ressources sur le Web. La méthode REST est couramment appliquée aux API (« API REST »), qui permettent aux développeurs d’accéder à des données provenant de systèmes distants sur Internet.
REST définit six contraintes architecturales :
- Modèle client-serveur – un serveur traite les requêtes des clients, et ceux-ci peuvent uniquement accéder aux données requises sur le serveur
- Sans état – les requêtes sont temporaires et aucune donnée client n’est stockée sur le serveur
- Mise en cache – les requêtes peuvent être mises en cache afin d’améliorer les performances
- Interface uniforme – l’accès aux données doit être cohérent pour tous les utilisateurs et systèmes
- Prise en charge des systèmes en couches – les requêtes peuvent être traitées de manière hiérarchique et acheminées entre plusieurs systèmes
- Code à la demande (facultatif) – les serveurs peuvent transmettre du code exécutable aux systèmes clients
REST et SOAP
REST est souvent comparé à SOAP, un autre ensemble de normes permettant de transférer des données sur Internet. Cependant, REST est simplement un style de conception, tandis que SOAP est un véritable protocole avec des règles et des commandes précises. Les API REST et SOAP transmettent toutes deux des données via HTTP, mais SOAP est limité aux données XML, tandis que REST est plus flexible.
Comme SOAP est un protocole officiel, tous les messages envoyés via SOAP doivent utiliser le même format d’« enveloppe », avec un en-tête et un corps. REST, apparu après SOAP, comporte moins de contraintes et est souvent considéré comme une solution légère par rapport à SOAP.
NOTE: Les API conformes aux recommandations REST sont techniquement appelées « API RESTful », mais de nombreux développeurs les appellent plutôt « API REST ».
Testez vos connaissances