REST = transfert d'état représentatif
REST est un ensemble de règles qui, lorsqu'elles sont suivies, vous permettent de créer une application distribuée qui a un ensemble spécifique de contraintes souhaitables.
REST est un protocole pour échanger tous les messages (XML, JSON, etc.) qui peuvent utiliser HTTP pour transporter ces messages.
Fonctionnalités:
Il est sans état, ce qui signifie que, idéalement, aucune connexion ne doit être maintenue entre le client et le serveur. Il est de la responsabilité du client de transmettre son contexte au serveur, puis le serveur peut stocker ce contexte pour traiter la demande ultérieure du client. Par exemple, la session gérée par le serveur est identifiée par l'identifiant de session transmis par le client.
Avantages de l'apatridie:
- Les services Web peuvent traiter chaque appel de méthode séparément.
- Les services Web n'ont pas besoin de maintenir l'interaction précédente du client.
- Cela simplifie à son tour la conception des applications.
- HTTP est lui-même un protocole sans état contrairement à TCP et donc les services Web RESTful fonctionnent de manière transparente avec les protocoles HTTP.
Inconvénients de l'apatridie:
- Une couche supplémentaire sous forme d'en-tête doit être ajoutée à chaque demande pour préserver l'état du client.
- Pour des raisons de sécurité, nous devons ajouter des informations d'en-tête à chaque demande.
Méthodes HTTP prises en charge par REST:
GET: / string / someotherstring Il est idempotent et devrait idéalement retourner les mêmes résultats chaque fois qu'un appel est effectué
PUT: Identique à GET. Idempotent et est utilisé pour mettre à jour les ressources.
POST: doit contenir une URL et un corps Utilisé pour créer des ressources. Idéalement, plusieurs appels devraient renvoyer des résultats différents et créer plusieurs produits.
DELETE: utilisé pour supprimer des ressources sur le serveur.
TÊTE:
La méthode HEAD est identique à GET sauf que le serveur NE DOIT PAS retourner un corps de message dans la réponse. Les méta-informations contenues dans les en-têtes HTTP en réponse à une demande HEAD DEVRAIENT être identiques aux informations envoyées en réponse à une demande GET.
OPTIONS:
Cette méthode permet au client de déterminer les options et / ou les exigences associées à une ressource, ou les capacités d'un serveur, sans impliquer une action de ressource ou lancer une récupération de ressource.
Réponses HTTP
Allez ici pour toutes les réponses .
En voici quelques-uns importants: 200 - OK 3XX - Informations supplémentaires requises du client et redirection d'URL 400 - Mauvaise demande
401 - Accès non autorisé
403 - Interdit
La demande était valide, mais le serveur refuse toute action. L'utilisateur peut ne pas disposer des autorisations nécessaires pour une ressource ou peut avoir besoin d'un compte quelconque.
404 - Introuvable
La ressource demandée est introuvable mais peut être disponible à l'avenir. Les demandes ultérieures du client sont autorisées.
405 - Méthode non autorisée Une méthode de demande n'est pas prise en charge pour la ressource demandée; par exemple, une demande GET sur un formulaire qui nécessite la présentation de données via POST, ou une demande PUT sur une ressource en lecture seule.
404 - Demande introuvable
500 - Échec du serveur interne
502 - Erreur de passerelle incorrecte