Guide simplifié des codes de statut HTTP

Les codes de statut de réponse HTTP indiquent si une requête HTTP a été exécutée avec succès ou non. Comprendre ces statuts est très important pour débogguer efficacement les APIs, application mobile ou web.
Les codes 2XX
Les code 2xx
sont les code de succès
Le code 200 - Successful

Le code 200
est retourné par le serveur pour indiquer que tout est OK, la requête a été effectuée avec succès.
Le code 201 - Created

Le code 201
est retourné par le serveur pour indiquer qu'une nouvelle resource a été créée par le serveur.
Le code 204 - No Content

Avec les codes 200
et 201
, le serveur inclu dans la réponse du contenu. Par contre, le code 204
indique que tout est OK, mais aucun contenu n'est inclu dans réponse.
Les codes 4xx
Les codes 4xx
sont retournés par le serveur pour indiquer des erreurs au niveau du client.
Le code 400 - Bad Request

Le serveur retourne le code 400
pour indiquer que le contenu requête n'est pas valide. Par example, si on essaye de créer un usager avec le email roger.milla@
, le server retournera le code
Le code 401 - Unauthorized
Le serveur retourne le code 401
pour indiquer que la requête envoyée manque les information pour identifier l'usager qui effectue la requête.
Les informations d'identification de l'usager sont généralement inclues dans l'en-tête Authorization
.
Le code 403 - Forbidden
Le serveur retourne le code 403
pour indiquer au client qu'il sait qui il est, mais il n'a pas les permissions requises pour effectuer la la requête.
Le code 404 - Not Found

Le serveur retourne le code 404
pour indiquer au client que l'information qu'il demande n'est pas disponible sur le serveur.
Le code 429 - Too Many Requests
Le serveur retourne le code 429
pour indiquer au client qu'il a atteint son quota de requêtes. Par example, si une API accepte 100 requête par heure par client, si un client envoie 101 requête en 30 minutes:
- Le client recevra le code de succès
2xx
pour les 100 premières requêtes. - Il recevra le code
429
pour la 101ème requête. - Il devra attendre 30 minutes avant de renvoyer des requêtes.
C'est un mécanisme utilisé par les serveurs comme mesure de sécurité défensive pour contrôler le débit par utilisateur, et garantir une qualité de service.
Les codes 5xx
Ces code 5xx
sont retournés par le serveur pour indiquer des erreurs au niveau du serveur.
Le code 500 - Internal Server Error

Le serveur retourne le code 500
pour indiquer qu'il y a eu une erreur au serveur lorsqu'il a essayé de traiter la requête. Ca peut être le signe d'un bogue dans le code ou d'un problème avec les resources du serveur.
Le code 502 - Bad Gateway

Ce code est retourne dans un environnement ou les accès aux serveurs se font via une passerelle (gateway). Si la passerelle est incapable de transférer la requête du client au serveur, la passerelle va retourner le code 502
.
Le code 503 - Unavailable
Le code 503
est retourné lorsque le serveur n'est pas disponible pour recevoir les requêtes: soit parce qu'il est en maintenance, ou parce qu'il est surchargé.
Les codes 3xx
Les code 3xx
sont les codes de redirection.
Le code 302 - Moved Permanently
Le code 302
est retourné par le serveur pour indiquer que l'URL demandée est déplacée définitivement vers une autre addresse contenue dans l'en-tête Location
.
Le code 302 - Found
Le code 302
est retourné par le serveur pour indiquer que l'URL demandée est temporairement déplacée vers une autre addresse contenue dans l'en-tête Location
.
Le code 304 - Not Modified

Le code 304
est retourné par le serveur pour indique au client que la resource demandée n'a pas été modifiée, donc le client peux utiliser la resource qu'il a en cache. Ce code est retourné si la requête continue l'en-tête If-Modified-Since
ou If-None-Match
Si vous avez aimé l'article, montrez votre soutien avec un ❤️ et abonnez vous a mon blog ! Votre engagement m’inspire!