Codes de retour HTTP

Mise en situation

Les réponses d'un serveur web à une requêtes HTTP peuvent être variées : renvoyer la ressource demandée, indiquer que la ressource envoyée par la requête a bien été reçue, refuser l'accès à une ressource, etc.

Pour permettre de déterminer le type d'une réponse, HTTP se base sur ce que l'on appelle les codes de retour (ou code d'état).

DéfinitionCode HTTP

Un code HTTP est un code à 3 chiffres qui est présent dans chaque réponse HTTP du serveur. Ce code est destiné au client HTTP pour lui indiquer le statut de sa requête.

Les codes HTTP sont séparés en 5 familles, qui se distinguent par le premier digit du code retour :

  • 1xx : Informations

  • 2xx : Succès

  • 3xx : Redirections

  • 4xx : Erreur du client

  • 5xx : Erreur du serveur

ExempleLes codes HTTP courants

Il existe plusieurs dizaines de code HTTP, mais certains sont plus utilisés que d'autres, en voici quelques-uns :

  • 200 OK : « Tout est bon »,

  • 201 Created: « Ressource ajoutée avec succès »,

  • 401 Unauthorized: « Vous n'avez pas le droit d'accéder à cette ressource, il faut une authentification »,

  • 404 Not Found: « Ressource non trouvée »,

  • 500 Internal Server Error: « Erreur du serveur ».

ExempleObserver les codes HTTP

La commande curl permet de montrer le code de retour HTTP reçu suite à une requête. Pour cela il suffit de rajouter l'option -I.

La première ligne affichée contient le code de retour HTTP.

1
$ curl -I https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol
2
HTTP/2 200

Si on demande une page qui n'existe pas on obtient le code 404.

1
$ curl -I https://fr.wikipedia.org/fausse_page                     
2
HTTP/2 404

À retenir

  • Chaque réponse HTTP comporte un code qui permet d'indiquer au client le statut de la requête.

  • Il existe 5 familles de code différents (informations, succès, redirections, erreurs client, erreurs serveur)