Codes de statut HTTP

La référence complète des codes de statut de réponse HTTP : ce que signifie chaque code, quand les serveurs l'envoient et comment réagir — pour déboguer des requêtes, documenter des API et examiner des logs serveur.

Utilisez les liens d'ancrage pour naviguer entre les classes de réponses, ou ouvrez les guides détaillés pour les codes les plus courants.

Tableau des codes de réponse HTTP

Code Nom Signification
1xx Informationnel
100 Continue Le serveur a reçu les en-têtes de la requête et le client doit envoyer le corps de la requête.
101 Switching Protocols Le serveur accepte de passer au protocole demandé dans l'en-tête Upgrade.
102 Processing Le serveur a accepté la requête complète mais ne l'a pas encore terminée (WebDAV).
103 Early Hints En-têtes préliminaires, principalement des indications Link preload, envoyés avant la réponse finale.
2xx Succès
200 OK La requête a réussi et la réponse transporte la représentation demandée.
201 Created La requête a réussi et une nouvelle ressource a été créée, généralement nommée dans Location.
202 Accepted La requête a été acceptée pour un traitement asynchrone qui n'est pas encore terminé.
203 Non-Authoritative Information La réponse a été modifiée en chemin par un proxy transformateur.
204 No Content La requête a réussi et il n'y a intentionnellement aucun corps de réponse.
205 Réinitialiser Content La requête a réussi et le client doit réinitialiser l'affichage du document ou le formulaire.
206 Partial Content La réponse ne livre que la plage d'octets demandée avec l'en-tête Range.
3xx Redirection
300 Multiple Choices Plusieurs représentations existent et le client doit en choisir une.
301 Moved Permanently La ressource a une nouvelle URL permanente et les liens doivent être mis à jour.
302 Found La ressource se trouve temporairement à une URL différente ; continuez à utiliser l'originale.
303 See Other Le résultat est disponible à une autre URL et doit être récupéré avec GET.
304 Not Modified La copie en cache est toujours valide, donc aucun corps n'est renvoyé.
307 Temporary Redirect Redirection temporaire qui doit conserver la méthode HTTP et le corps d'origine.
308 Permanent Redirect Redirection permanente qui doit conserver la méthode HTTP et le corps d'origine.
4xx Erreurs client
400 Bad Request Le serveur ne peut pas traiter la requête car elle est malformée.
401 Unauthorized Des identifiants d'authentification valides sont requis et sont manquants ou incorrects.
402 Payment Required Statut réservé, utilisé en pratique par certaines API pour des limites de facturation.
403 Forbidden Le serveur a compris la requête mais refuse de l'autoriser.
404 Not Found Aucune ressource n'existe à l'URL demandée.
405 Method Not Allowed L'URL existe mais ne prend pas en charge cette méthode HTTP.
406 Not Acceptable Aucune représentation ne correspond aux en-têtes de négociation Accept.
407 Proxy Authentication Required Le client doit d'abord s'authentifier auprès du proxy.
408 Request Timeout Le serveur a fermé la connexion car la requête a mis trop de temps à arriver.
409 Conflict La requête entre en conflit avec l'état actuel de la ressource, par exemple une collision d'édition.
410 Gone La ressource a été délibérément supprimée et ne reviendra pas.
411 Length Required La requête doit inclure un en-tête Content-Length.
412 Precondition Failed Un en-tête conditionnel tel que If-Match a été évalué à faux.
413 Content Too Large Le corps de la requête dépasse la taille acceptée par le serveur.
414 URI Too Long L'URL de la requête est plus longue que ce que le serveur analysera.
415 Unsupported Media Type Le format du corps de la requête n'est pas pris en charge pour cette ressource.
416 Range Not Satisfiable La plage d'octets demandée se situe en dehors de la taille de la ressource.
417 Expectation Failed L'en-tête de requête Expect n'a pas pu être satisfait.
418 I'm a teapot Un statut du poisson d'avril issu de la RFC 2324 ; certaines API l'utilisent comme easter egg.
421 Misdirected Request La requête a atteint un serveur incapable de produire une réponse pour cette autorité.
422 Unprocessable Content La requête est bien formée mais sémantiquement invalide, un cas courant en validation REST.
425 Too Early Le serveur refuse de traiter une requête susceptible d'être rejouée (données précoces TLS).
426 Upgrade Required Le client doit passer à un protocole différent tel que listé dans Upgrade.
428 Precondition Required Le serveur exige une requête conditionnelle pour éviter les mises à jour perdues.
429 Too Many Requests Le client a dépassé une limite de débit ; Retry-After indique quand réessayer.
431 Request Header Fields Too Large Les en-têtes, souvent des cookies, dépassent les limites de taille du serveur.
451 Unavailable For Legal Reasons L'accès est bloqué pour des raisons légales telles que des décisions de justice.
5xx Erreurs serveur
500 Internal Server Error Le serveur a rencontré une erreur inattendue en traitant la requête.
501 Not Implemented Le serveur ne reconnaît pas ou ne prend pas en charge la méthode de requête.
502 Bad Gateway Une passerelle ou un proxy a reçu une réponse invalide du serveur backend.
503 Service Unavailable Le serveur est temporairement incapable de servir, en raison d'une surcharge ou d'une maintenance.
504 Gateway Timeout Une passerelle ou un proxy a abandonné l'attente du serveur backend.
505 HTTP Version Not Supported Le serveur ne prend pas en charge la version du protocole HTTP utilisée.
506 Variant Also Negotiates Une mauvaise configuration de la négociation de contenu sur le serveur.
507 Insufficient Storage Le serveur ne peut pas stocker ce dont il a besoin pour terminer la requête (WebDAV).
508 Loop Detected Le serveur a détecté une boucle infinie pendant le traitement (WebDAV).
510 Not Extended La requête nécessite des extensions supplémentaires qui n'ont pas été fournies.
511 Network Authentication Required Le réseau (par exemple un portail captif) exige d'abord une authentification.

1xx Informationnel

Les réponses informationnelles confirment que la requête a été reçue et que le client peut continuer. Elles sont intermédiaires : un statut final suit toujours. Celle que vous rencontrerez réellement est 103 Early Hints, qui permet aux serveurs d'envoyer des indications de préchargement avant que la réponse complète soit prête.

2xx Succès

Les réponses de succès signifient que la requête a été comprise et acceptée. 200 OK transporte le résultat dans le corps, 201 Created annonce une nouvelle ressource, et 204 No Content confirme le succès sans rien à renvoyer, délibérément.

3xx Redirection

Les réponses de redirection orientent le client ailleurs. La distinction clé est la permanence — 301/308 sont permanentes, 302/307 temporaires — et si la méthode HTTP doit être préservée (307/308) ou peut passer en GET (301/302). 304 Not Modified est le cas particulier qui alimente la mise en cache navigateur.

4xx Erreurs client

Les erreurs client signifient que la requête elle-même a été rejetée. Les plus courantes : 400 requête malformée, 401 authentification requise, 403 accès refusé, 404 rien à cette URL et 429 limite de débit dépassée.

5xx Erreurs serveur

Les erreurs serveur signifient que le serveur a échoué sur une requête qui était peut-être parfaitement valide. 500 est un plantage d'application, 502 et 504 sont des proxys signalant un backend défaillant ou silencieux, et 503 est une indisponibilité temporaire délibérée.

Comment lire un code de statut

Le premier chiffre indique la classe : 1xx informationnel, 2xx succès, 3xx redirection, 4xx erreur client, 5xx erreur serveur. Un client qui rencontre un code inconnu peut sans risque le traiter comme le code x00 de sa classe — c'est ainsi que les nouveaux codes restent rétrocompatibles. Lors du débogage, regardez toujours les en-têtes de réponse à côté du code : Location explique les redirections, Allow explique le 405, Retry-After explique les 429 et 503.

Exemples

200 OK                    — page served normally
301 Moved Permanently     — URL changed for good, follow Location
304 Not Modified          — your cached copy is still valid
404 Not Found             — nothing exists at this URL
429 Too Many Requests     — rate limit hit, wait Retry-After seconds
503 Service Unavailable   — temporary downtime or maintenance

FAQ

Qu'est-ce que HTTP 404 ?

HTTP 404 signifie que la ressource demandée est introuvable à l'URL spécifiée. Consultez le guide détaillé du 404 pour les causes, les corrections et l'impact SEO.

Quelle est la différence entre 301 et 302 ?

Une redirection 301 est permanente — les liens et moteurs de recherche doivent se mettre à jour vers la nouvelle URL. Une 302 signale un déplacement temporaire où l'URL d'origine reste canonique.

Que signifie 503 ?

HTTP 503 signifie que le service est temporairement indisponible, généralement à cause d'une maintenance ou d'une surcharge, et que le client doit réessayer après un délai.

Quelle est la différence entre 401 et 403 ?

401 signifie que le serveur a besoin d'identifiants d'authentification valides. 403 signifie qu'il sait qui vous êtes et refuse quand même l'accès — se reconnecter n'aidera pas.

Quelle est la différence entre 502 et 504 ?

Les deux proviennent d'un proxy dialoguant avec un serveur backend : 502 signifie que le backend a renvoyé une réponse invalide, 504 signifie qu'il n'a jamais répondu dans le délai imparti.

Quels codes de statut comptent le plus pour le SEO ?

200 marque les pages indexables, 301/308 transfèrent le classement lors de déplacements permanents, 404/410 suppriment les URL mortes et 503 protège le classement pendant une interruption lorsqu'il est servi avec Retry-After.