Liste des codes HTTP
En informatique, le code HTTP (aussi appelé code d'état) permet de déterminer le résultat d'une requête ou d'indiquer une erreur au client. Ce code numérique est destiné aux traitements automatiques par les logiciels de client HTTP. Ces codes d'état ont été définis par la RFC 2616[1], en même temps que d’autres codes d'état, non normalisés mais très utilisés sur le Web. Ils ont été ensuite étendus par la RFC 7231[2].

Le premier chiffre du code d'état est utilisé pour spécifier une des cinq catégories de réponse (informations, succès, redirection, erreur client et erreur serveur).
Les codes les plus courants sont :
- 200 : succès de la requête ;
- 301 et 302 : redirection, respectivement permanente et temporaire ;
- 401 : utilisateur non authentifié ;
- 403 : accès refusé ;
- 404 : page non trouvée ;
- 500 et 503 : erreur serveur ;
- 504 : le serveur n'a pas répondu.
Certains codes ne sont pas encore utilisés, mais sont prévus pour une utilisation future. D'autres codes n'entraînent aucun affichage spécifique pour l’utilisateur, mais sont sous-entendus (par exemple, les codes 200 ou 304, jamais vus par le client car ils concernent la majorité des requêtes réussies).
Codes d'état
Les codes de la table ci-dessous marqués WebDAV ne sont pas spécifiés par le protocole HTTP mais par le protocole WebDAV qui est une extension de HTTP.
1xx - Information
Code | Message | Signification |
---|---|---|
100 | Continue | Attente de la suite de la requête. |
101 | Switching Protocols | Acceptation du changement de protocole. |
102 | Processing | WebDAV RFC 2518[3],[4]: Traitement en cours (évite que le client dépasse le temps d’attente limite). |
103 | Early Hints | RFC 8297[5] : (Expérimental) Dans l'attente de la réponse définitive, le serveur retourne des liens que le client peut commencer à télécharger. |
2xx - Succès
Code | Message | Signification |
---|---|---|
200 | OK | Requête traitée avec succès. La réponse dépendra de la méthode de requête utilisée. |
201 | Created | Requête traitée avec succès et création d’un document. |
202 | Accepted | Requête traitée, mais sans garantie de résultat. |
203 | Non-Authoritative Information | Information retournée, mais générée par une source non certifiée. |
204 | No Content | Requête traitée avec succès mais pas d’information à renvoyer. |
205 | Reset Content | Requête traitée avec succès, la page courante peut être effacée. |
206 | Partial Content | Une partie seulement de la ressource a été transmise. |
207 | Multi-Status | WebDAV : Réponse multiple. |
208 | Already Reported | WebDAV : Le document a été envoyé précédemment dans cette collection. |
210 | Content Different | WebDAV : La copie de la ressource côté client diffère de celle du serveur (contenu ou propriétés). |
226 | IM Used | RFC 3229[6] : Le serveur a accompli la requête pour la ressource, et la réponse est une représentation du résultat d'une ou plusieurs manipulations d'instances appliquées à l'instance actuelle. |
3xx - Redirection
Code | Message | Signification |
---|---|---|
300 | Multiple Choices | L’URI demandée se rapporte à plusieurs ressources. |
301 | Moved Permanently | Document déplacé de façon permanente. |
302 | Found | Document déplacé de façon temporaire. |
303 | See Other | La réponse à cette requête est ailleurs. |
304 | Not Modified | Document non modifié depuis la dernière requête. |
305 | Use Proxy (depuis HTTP/1.1) | La requête doit être ré-adressée au proxy. |
306 | Switch Proxy | Code utilisé par une ancienne version de la RFC 2616[7], à présent réservé. Elle signifiait « Les requêtes suivantes doivent utiliser le proxy spécifié »[8]. |
307 | Temporary Redirect | La requête doit être redirigée temporairement vers l’URI spécifiée. |
308 | Permanent Redirect | La requête doit être redirigée définitivement vers l’URI spécifiée. |
310 | Too many Redirects | La requête doit être redirigée de trop nombreuses fois, ou est victime d’une boucle de redirection. |
4xx - Erreur du client HTTP
Code | Message | Signification |
---|---|---|
400 | Bad Request | La syntaxe de la requête est erronée. |
401 | Unauthorized | Une authentification est nécessaire pour accéder à la ressource. |
402 | Payment Required | Paiement requis pour accéder à la ressource. |
403 | Forbidden | Le serveur a compris la requête, mais refuse de l'exécuter. Contrairement à l'erreur 401, s'authentifier ne fera aucune différence. Sur les serveurs où l'authentification est requise, cela signifie généralement que l'authentification a été acceptée mais que les droits d'accès ne permettent pas au client d'accéder à la ressource. |
404 | Not Found | Ressource non trouvée. |
405 | Method Not Allowed | Méthode de requête non autorisée. |
406 | Not Acceptable | La ressource demandée n'est pas disponible dans un format qui respecterait les en-têtes « Accept » de la requête. |
407 | Proxy Authentication Required | Accès à la ressource autorisé par identification avec le proxy. |
408 | Request Time-out | Temps d’attente d’une requête du client, écoulé côté serveur. D'après les spécifications HTTP : « Le client n'a pas produit de requête dans le délai que le serveur était prêt à attendre. Le client PEUT répéter la demande sans modifications à tout moment ultérieur »[9]. |
409 | Conflict | La requête ne peut être traitée en l’état actuel. |
410 | Gone | La ressource n'est plus disponible et aucune adresse de redirection n’est connue. |
411 | Length Required | La longueur de la requête n’a pas été précisée. |
412 | Precondition Failed | Préconditions envoyées par la requête non vérifiées. |
413 | Request Entity Too Large | Traitement abandonné dû à une requête trop importante. |
414 | Request-URI Too Long | URI trop longue. |
415 | Unsupported Media Type | Format de requête non supporté pour une méthode et une ressource données. |
416 | Requested range unsatisfiable | Champs d’en-tête de requête « range » incorrect. |
417 | Expectation failed | Comportement attendu et défini dans l’en-tête de la requête insatisfaisante. |
418 | I’m a teapot | « Je suis une théière » : Ce code est défini dans la RFC 2324[10] datée du , Hyper Text Coffee Pot Control Protocol. |
421 | Bad mapping / Misdirected Request | La requête a été envoyée à un serveur qui n'est pas capable de produire une réponse (par exemple, car une connexion a été réutilisée). |
422 | Unprocessable entity | WebDAV : L’entité fournie avec la requête est incompréhensible ou incomplète. |
423 | Locked | WebDAV : L’opération ne peut avoir lieu car la ressource est verrouillée. |
424 | Method failure | WebDAV : Une méthode de la transaction a échoué. |
425 | Too Early | RFC 8470[11] : le serveur ne peut traiter la demande car elle risque d'être rejouée. |
426 | Upgrade Required | RFC 2817[12] : Le client devrait changer de protocole, par exemple au profit de TLS/1.0. |
428 | Precondition Required | RFC 6585[13] : La requête doit être conditionnelle. |
429 | Too Many Requests | RFC 6585[14] : le client a émis trop de requêtes dans un délai donné. |
431 | Request Header Fields Too Large | RFC 6585[14] : Les entêtes HTTP émises dépassent la taille maximale admise par le serveur. |
449 | Retry With | Code défini par Microsoft. La requête devrait être renvoyée après avoir effectué une action. |
450 | Blocked by Windows Parental Controls | Code défini par Microsoft. Cette erreur est produite lorsque les outils de contrôle parental de Windows sont activés et bloquent l’accès à la page. |
451 | Unavailable For Legal Reasons | Ce code d'erreur indique que la ressource demandée est inaccessible pour des raisons d'ordre légal[15],[16]. |
456 | Unrecoverable Error | WebDAV : Erreur irrécupérable. |
Code | Message | Signification |
---|---|---|
444 | No Response | Indique que le serveur n'a retourné aucune information vers le client et a fermé la connexion. Visible seulement dans les journaux du serveur Nginx. |
495 | SSL Certificate Error | Une extension de l'erreur 400 Bad Request, utilisée lorsque le client a fourni un certificat invalide. |
496 | SSL Certificate Required | Une extension de l'erreur 400 Bad Request, utilisée lorsqu'un certificat client requis n'est pas fourni. |
497 | HTTP Request Sent to HTTPS Port | Une extension de l'erreur 400 Bad Request, utilisée lorsque le client envoie une requête HTTP vers le port 443 normalement destiné aux requêtes HTTPS. |
498 | Token expired/invalid | Le jeton a expiré ou est invalide. |
499 | Client Closed Request | Le client a fermé la connexion avant de recevoir la réponse. Cette erreur se produit quand le traitement est trop long côté serveur[17]. |
5xx - Erreur du serveur / du serveur d'application
Code | Message | Signification |
---|---|---|
500 | Internal Server Error | Erreur interne du serveur. |
501 | Not Implemented | Fonctionnalité réclamée non supportée par le serveur. |
502 | Bad Gateway ou Proxy Error | En agissant en tant que serveur proxy ou passerelle, le serveur a reçu une réponse invalide depuis le serveur distant. |
503 | Service Unavailable | Service temporairement indisponible ou en maintenance. |
504 | Gateway Time-out | Temps d’attente d’une réponse d’un serveur à un serveur intermédiaire écoulé. |
505 | HTTP Version not supported | Version HTTP non gérée par le serveur. |
506 | Variant Also Negotiates | RFC 2295[18] : Erreur de négociation. Transparent content negociation. |
507 | Insufficient storage | WebDAV : Espace insuffisant pour modifier les propriétés ou construire la collection. |
508 | Loop detected | WebDAV : Boucle dans une mise en relation de ressources (RFC 5842[19]). |
509 | Bandwidth Limit Exceeded | Utilisé par de nombreux serveurs pour indiquer un dépassement de quota. |
510 | Not extended | RFC 2774[20] : La requête ne respecte pas la politique d'accès aux ressources HTTP étendues. |
511 | Network authentication required | RFC 6585[14] : Le client doit s'authentifier pour accéder au réseau. Utilisé par les portails captifs pour rediriger les clients vers la page d'authentification. |
Code | Message | Signification |
---|---|---|
520 | Unknown Error | L'erreur 520 est utilisé en tant que réponse générique lorsque le serveur d'origine retourne un résultat imprévu. |
521 | Web Server Is Down | Le serveur a refusé la connexion depuis Cloudflare. |
522 | Connection Timed Out | Cloudflare n'a pas pu négocier un TCP handshake avec le serveur d'origine. |
523 | Origin Is Unreachable | Cloudflare n'a pas réussi à joindre le serveur d'origine. Cela peut se produire en cas d'échec de résolution de nom de serveur DNS. |
524 | A Timeout Occurred | Cloudflare a établi une connexion TCP avec le serveur d'origine mais n'a pas reçu de réponse HTTP avant l'expiration du délai de connexion. |
525 | SSL Handshake Failed | Cloudflare n'a pas pu négocier un SSL/TLS handshake avec le serveur d'origine. |
526 | Invalid SSL Certificate | Cloudflare n'a pas pu valider le certificat SSL présenté par le serveur d'origine. |
527 | Railgun Error | L'erreur 527 indique que la requête a dépassé le délai de connexion ou a échoué après que la connexion WAN a été établie. |
Annexes
Articles connexes
Lien externe
- (en) Spécification officielle par le W3C des codes HTTP, sur le site du World Wide Web Consortium
Notes et références
- (en) « Hypertext Transfer Protocol -- HTTP/1.1 », Request for comments no 2616, .
- (en) « Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content », Request for comments no 7231, .
- (en) Request for comments no 2518.
- (en) Jensen, D. et Faizi, A., « HTTP Extensions for Distributed Authoring -- WEBDAV », sur tools.ietf.org (consulté le )
- (en) Request for comments no 8297.
- (en) Request for comments no 3229.
- (en) Request for comments no 2616.
- (en) Josh Cohen, « HTTP/1.1 305 and 306 Response Codes », sur tools.ietf.org, (consulté le )
- « 408 », sur httpstatus.es (consulté le )
- (en) « Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0) », Request for comments no 2324, .
- (en) Mark Nottingham et Martin Thomson, « Using Early Data in HTTP », sur tools.ietf.org (consulté le )
- (en) Request for comments no 2817.
- (en) « Additional HTTP Status Codes », Request for comments no 6585, .
- (en) Request for comments no 6585.
- « Erreur 451 : le nouveau code signalant la censure sur internet », sur www.clubic.com, (consulté le ).
- « Erreur 451 : le nouveau code HTTP pour exposer la censure du Web », sur www.zdnet.fr, (consulté le ).
- (en) « Re: Status Code 499 », sur Forum de Nginx (consulté le ).
- (en) Request for comments no 2295.
- (en) Request for comments no 5842.
- (en) Request for comments no 2774.
- Portail de l’informatique