HomeBlogCodes d'état de l'API REST: ce qu'ils sont et comment ils fonctionnent
Principes base API

Codes d'état de l'API REST: ce qu'ils sont et comment ils fonctionnent

Codes d'état HTTP dans les réponses de l'API : ce qu'ils sont et ce qu'ils signifient

Rest API

Les codes d'état HTTP, ou codes d'état, sont des codes à trois chiffres qui indiquent le résultat d'une communication entre des clients et des serveurs utilisant le protocole HTTP, tels que les navigateurs web et les applications API.

Ces codes, qui restent généralement cachés à l'utilisateur du service, permettent au client de connaître le résultat de sa requête avant même d'analyser la charge utile, c'est-à-dire la réponse proprement dite.

Parmi les codes HTTP les plus courants, on trouve le statut HTTP 404, qui apparaît lorsqu'on essaie de se connecter à une page web qui n'existe pas, et le statut HTTP 500, qui indique une erreur du serveur. Cependant, même les requêtes réussies ont leurs propres codes: voyons ce qu'ils sont et ce qu'ils indiquent.

Codes d'état HTTP dans les API REST

Le protocole HTTP est une méthode de transport de l'information largement utilisée dans les architectures client-serveur, qui a également trouvé une application parfaite dans les appels API REST.

Dans les appels API, il se passe exactement la même chose que lorsque, en surfant sur Internet, un client HTTP demande une ressource à un serveur : lorsque le client API fait sa demande, le serveur répond en envoyant le code d'état HTTP indiquant le type de réponse. Ce qui change, c'est le contenu de la réponse, ou payload, qui au lieu de contenir une page HTML contient un json.

Les codes HTTP sont identiques pour toutes les applications qui communiquent via ce protocole et font partie de la réponse d'un serveur HTTP.

À quoi ressemble une réponse d'API REST?

Lorsqu'un client de l'API interroge un serveur, il reçoit en retour une réponse qui contient diverses informations et qui, outre les spécifications techniques, comprend quelques sections fondamentales:

  • Codes d'état HTTP: ils se composent de trois chiffres. Ils indiquent le résultat de la communication et donnent des informations au client sur la manière de procéder;
  • En-tête: contient les attributs de l'en-tête, qui concernent généralement le format du corps de la requête, le temps de cache de la réponse et, surtout, les autorisations dont dispose le client;
  • Payload: il s'agit du contenu réel de la réponse de l'API, qui contient les données.

Les codes d'état HTTP font partie intégrante de la réponse de l'API: leur transmission permet au client de savoir ce qui s'est passé pendant le transfert avant même d'analyser le contenu de la réponse. Un code d'état HTTP 403, par exemple, indique que le client est authentifié mais qu'il ne peut pas accéder à la ressource demandée. Un code d'état 200, en revanche, signifie que la demande a abouti et que le serveur a renvoyé les données demandées.

Codes d'état HTTP: ce qu'ils sont

Les codes d'état HTTP sont divisés en cinq classes, chacune commençant par un chiffre indiquant le type de réponse:

  • 1xx - Message d'information: ce type de réponse indique que le serveur a reçu la demande et est en train de la traiter;
  • 2xx - Message de réussite: la demande a été reçue, comprise et traitée correctement par le serveur;
  • 3xx - Réponse de redirection: informe le client qu'il doit effectuer des actions supplémentaires pour répondre à la demande (par exemple, lorsqu'une ressource est transférée, le statut HTTP 301 demande de pointer vers la nouvelle URL);
  • 4xx - Message d'erreur du client: apparaît par exemple lorsque les informations d'identification ne sont pas valides ou que la demande a été mal formulée;
  • 5xx - Réponse d'erreur du serveur: indique que le serveur n'a pas répondu à la demande parce qu'il a rencontré une erreur ou qu'il n'a pas pu traiter la demande.

Chaque type de réponse comprend à son tour plusieurs messages possibles. Voici les plus courants.

Code de réponse HTTP 1xx: message d'information

Les messages d'information sont envoyés lorsque la demande a été reçue par le serveur et que le traitement de la demande se poursuit : ils sont souvent utilisés pour éviter que le client n'attende une réponse, mais ils peuvent également indiquer que des informations supplémentaires doivent être envoyées pour compléter la demande.

  • 100 - Continue: la partie initiale de la demande a été reçue et le serveur demande d'envoyer le reste (par exemple : il a reçu l'en-tête avec les informations d'identification et demande l'envoi de la charge utile) ;
  • 101 - Changement de protocole: le client a demandé à changer le protocole utilisé et le serveur communique le changement de protocole dans la connexion ;
  • 102 - Traitement: indique que le serveur est encore en train de traiter la demande.

Codes HTTP 2xx : Succès

Les messages de succès indiquent que la demande a été reçue et traitée avec succès. Cela ne signifie pas nécessairement que le client obtiendra ce qu'il voulait : la réponse du serveur peut même être dépourvue de contenu.

  • 200 - OK: indique que la demande a abouti et que le serveur a renvoyé les données demandées ;
  • 201 - Créé: indique que la demande a abouti et que le serveur a créé une nouvelle ressource ;
  • 204 - Pas de contenu: la demande a abouti mais il n'y a pas de données à transférer.

Codes HTTP 3xx : réponses de redirection

Les codes HTTP commençant par 3 indiquent que le client doit effectuer d'autres actions pour satisfaire la demande : ils sont utilisés, par exemple, lorsque la ressource demandée a été déplacée vers un autre emplacement.

  • 301 - Moved Permanently (Déplacement permanent): la ressource a été déplacée vers une nouvelle URL, et le client doit donc mettre à jour les liens et pointer vers la nouvelle adresse;
  • 303 - Voir autre: indique que la réponse est disponible à une autre adresse, de sorte que le client doit faire une demande GET à cette URL pour la récupérer.

Codes d'erreur HTTP : les codes 4xx

Les codes d'erreur commençant par le chiffre 4 sont peut-être les plus redoutés par les utilisateurs de clients d'API, car ils indiquent que la demande ne peut être satisfaite en raison d'une erreur de la part du client, qui peut avoir fait une erreur de syntaxe ou ne pas avoir les autorisations nécessaires. Les codes d'état HTTP 400 les plus courants sont les suivants :

  • Erreur 400 - Mauvaise demande: la demande n'est pas valide ou n'est pas rédigée correctement;
  • Erreur 401 - Non autorisé: Le client n'a pas l'autorisation d'accéder à la ressource;
  • Erreur 403 - Interdit: Le client est authentifié mais n'est pas autorisé à accéder à la requête;
  • Erreur 404 - Not Found: La ressource demandée n'a pas été trouvée sur le serveur;
  • Erreur 408 - Request Timeout: Le temps d'envoi de la requête a expiré et le serveur a mis fin à la connexion;
  • Erreur 429 - Trop de requêtes: signifie que le client a fait trop de requêtes dans un court laps de temps, alors qu'il existe des limites d'appel.

Messages d'erreur 500: erreurs du serveur

Les messages d'erreur ne concernent pas uniquement le client: il existe également des erreurs internes au serveur, qui sont indiquées par un code à trois chiffres commençant par 5. Les plus courantes sont:

  • 500 - Internal server error: il s'agit d'un code générique indiquant une erreur du serveur qui l'a empêché de répondre à la demande;
  • 502 - Bad Gateway: un serveur agissant en tant que passerelle ou proxy a reçu une réponse non valide d'un serveur en amont ;
  • 503 - Service indisponible: ce code indique que le serveur est temporairement incapable de traiter la demande, par exemple parce qu'il fait l'objet d'une maintenance ou qu'il y a un pic de trafic.

 

Accédez à des données fiables et de qualité !
Découvrez plus de 400 services
services sur la place de marché Openapi.com

DÉCOUVRIR MAINTENANT

Codes d'état de l'API REST: ce qu'ils sont et comment ils fonctionnent
Partager sur