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.
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
.
Code | Message | Signification |
---|---|---|
200 | OK | Requête traitée avec succès. Contenu demandé renvoyé au client. |
201 | Created | Requê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 3xx
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
.
Code | Message | Signification |
---|---|---|
301 | Moved Permanently | Ressource déplacée de façon permanente. |
302 | Found | Ressource déplacée de façon temporaire. |
4. Erreurs client (4xx
)
Les codes de réponse HTTP 4xx
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
.
Code | Message | Signification |
---|---|---|
400 | Bad Request | Requête incorrecte (faute de frappe, informations manquantes…). |
401 | Unauthorized | Authentification nécessaire pour accéder à la ressource. |
402 | Payment Required | Paiement requis pour accéder à la ressource. |
403 | Forbidden | Authentification acceptée mais l’utilisateur n’a pas les droits d’accès à la ressource. |
404 | Not Found | Ressource non trouvée. |
405 | Method Not Allowed | Méthode de requête HTTP (GET , POST , PUT , PATCH , DELETE …) non autorisée. |
5. Erreurs serveur (5xx
)
Les codes de réponse HTTP 5xx
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
.
Code | Message | Signification |
---|---|---|
500 | Internal Server Error | Erreur interne du serveur. |
502 | Bad Gateway | Serveur (passerelle ou proxy) a reçu une réponse invalide depuis le serveur distant. |
503 | Service Unavailable | Serveur temporairement indisponible ou en maintenance. |
504 | Gateway Time-out | Serveur (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.