Image de couverture - Connaître les principaux codes de réponse HTTP

Connaître les principaux codes de réponse HTTP

Zoom sur les codes de réponse HTTP, de célèbres combinaisons de 3 chiffres fournissant des informations sur le traitement d'une requête par le serveur.

Icône de calendrier
Icône de chronomètre 5 min

Lorsqu’on développe un site web, il est important de comprendre les différents codes de réponse HTTP que les serveurs utilisent pour communiquer avec les clients. Ces codes de réponse fournissent des informations sur le traitement d’une requête par le serveur et aident à diagnostiquer et à résoudre les problèmes qui peuvent survenir. Dans cet article, nous allons examiner de plus près les codes de réponse HTTP et leur signification.

Qu’est-ce qu’un statut de réponse HTTP ?

Définition

Un statut de réponse HTTP est un message envoyé par un serveur web en réponse à une requête HTTP d’un client.

Ce message indique si une requête a été traitée avec succès ou non, et fournissent des informations sur les erreurs qui peuvent survenir.

Un statut HTTP est défini par un message bien spécifique, comme par exemple :

  • OK
  • Not Found
  • Forbidden
  • Etc.

Les statuts HTTP sont importants car ils permettent en quelques sortes au client d’obtenir du feedback suite au traitement par le serveur.

Ces statuts de réponse sont associés à un code de statut.

Code de statut

Les codes de réponse HTTP sont des codes à trois chiffres indiquant le statut d’une requête HTTP, en complément du message (Not Found, Forbidden…).

Les codes de réponse HTTP sont classés en cinq familles, allant de 1xx à 5xx, chacune représentant un type de réponse spécifique :

  • Informations (1xx)
  • Succès (2xx)
  • Redirections (3xx)
  • Erreurs client (4xx)
  • Erreurs serveur (5xx)

Le premier chiffre indique la famille de codes et les deux derniers fournissent des informations plus détaillées sur le statut de la réponse.

Par exemple, le code 404 appartient à la famille des erreurs clients (4xx), et indique plus précisément que la ressource demandée n’est pas trouvée (x04).

Typologie des codes HTTP

Il existe de nombreux codes de réponse HTTP (environ 60), nous listerons pour chaque typologie ceux que l’on utilise couramment dans le développement d’applications web (sites, API…).

1. Informations (1xx)

Les codes de réponse HTTP 1xx indiquent que la requête a été reçue et que le processus est en cours.

Ces codes sont rarement vus par les utilisateurs finaux, car ils sont utilisés pour les communications intermédiaires entre le client et le serveur.

Je ne détaillerait pas la signification des codes de réponse HTTP 1xx (100, 101, 102 et 103).

2. Succès (2xx)

Les codes de réponse HTTP 2xx indiquent que la requête a été traitée avec succès.

Les codes de réponse de succès les plus courants sont 200 et 201.

CodeMessageSignification
200OKRequête traitée avec succès. Contenu demandé renvoyé au client.
201CreatedRequête traitée avec succès et création d’une ressource (très utile pour les opérations d’insertion d’un CRUD d’API).

3. Redirections (3xx)

Les codes de réponse HTTP 2xx indiquent que la requête a été redirigée vers une autre URL.

Ces codes sont utilisés pour indiquer que le contenu demandé a été déplacé ou que la requête doit être répétée à une autre adresse.

Les codes de réponse de succès les plus courants sont 301 et 302.

CodeMessageSignification
301Moved PermanentlyRessource déplacée de façon permanente.
302FoundRessource déplacée de façon temporaire.

4. Erreurs client (4xx)

Les codes de réponse HTTP 2xx indiquent que la requête contient une erreur et ne peut pas être traitée.

Ces erreurs sont généralement causées par des problèmes avec la requête envoyée par le client, tels qu’une adresse mal orthographiée ou une demande de contenu qui n’existe pas.

Les codes de réponse de succès les plus courants sont 400, 401, 402, 403, 404 et 405.

CodeMessageSignification
400Bad RequestRequête incorrecte (faute de frappe, informations manquantes…).
401UnauthorizedAuthentification nécessaire pour accéder à la ressource.
402Payment RequiredPaiement requis pour accéder à la ressource.
403ForbiddenAuthentification acceptée mais l’utilisateur n’a pas les droits d’accès à la ressource.
404Not FoundRessource non trouvée.
405Method Not AllowedMéthode de requête HTTP (GET, POST, PUT, PATCH, DELETE…) non autorisée.

5. Erreurs serveur (5xx)

Les codes de réponse HTTP 2xx indiquent que le serveur a rencontré une erreur et ne peut pas traiter la requête.

Ces erreurs sont généralement causées par des problèmes, tels qu’une erreur dans le code, une surcharge ou une panne matérielle.

Les codes de réponse de succès les plus courants sont 500, 502 et 503.

CodeMessageSignification
500Internal Server ErrorErreur interne du serveur.
502Bad GatewayServeur (passerelle ou proxy) a reçu une réponse invalide depuis le serveur distant.
503Service UnavailableServeur temporairement indisponible ou en maintenance.
504Gateway Time-outServeur (passerelle ou proxy) n’a reçu de réponse à temps de la part du serveur distant.

Comprendre les codes de réponse HTTP est crucial pour les développeurs web. Cela permet entre autres d’obtenir des informations sur le statut d’une requête, de diagnostiquer et résoudre les problèmes plus rapidement (amélioration de la DX) et d’assurer le bon fonctionnement du site web.

Lire aussi