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.