Liste des codes HTTP
Le protocole de communication informatique HTTP dĂ©finit une liste de codes HTTP. Ces codes sont des numĂ©ros de 3 chiffres. La plupart des codes correspondent chacun Ă un type d'erreur, quelques-uns correspondent Ă un type de succĂšs. Ces codes sont envoyĂ©s par le serveur HTTP au client HTTP afin de permettre Ă ce dernier de dĂ©terminer automatiquement si une requĂȘte a rĂ©ussi, et sinon de connaĂźtre le type d'erreur.
Ces codes d'Ă©tat ont Ă©tĂ© successivement dĂ©finis par la RFC 1945[1], puis la RFC 2068[2], puis la RFC 2616[3], en mĂȘme temps que dâautres codes d'Ă©tat, non normalisĂ©s mais trĂšs utilisĂ©s sur le Web. En 2014, ils ont Ă©tĂ© finalement spĂ©cifiĂ©s par la RFC 7231[4].
Structure des codes
Le premier chiffre 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 : ressource non trouvée ;
- 500, 502 et 503 : erreurs 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 | Apparition | Signification |
---|---|---|---|
100 | Continue | Attente de la suite de la requĂȘte. | |
101 | Switching Protocols | Acceptation du changement de protocole. | |
102 | Processing | WebDAV RFC 2518[5] - [6] | Traitement en cours (Ă©vite que le client dĂ©passe le temps dâattente limite). |
103 | Early Hints | RFC 8297[7] | (Expérimental) Dans l'attente de la réponse définitive, le serveur renvoie des liens que le client peut commencer à télécharger. |
2xx - SuccĂšs
Code | Message | Apparition | Signification |
---|---|---|---|
200 | OK | RFC 1945[8] | RequĂȘte traitĂ©e avec succĂšs. La rĂ©ponse dĂ©pendra de la mĂ©thode de requĂȘte utilisĂ©e. |
201 | Created | RFC 1945[8] | RequĂȘte traitĂ©e avec succĂšs et crĂ©ation dâun document. |
202 | Accepted | RFC 1945[8] | RequĂȘte traitĂ©e, mais sans garantie de rĂ©sultat. |
203 | Non-Authoritative Information | Information renvoyée, mais générée par une source non certifiée. | |
204 | No Content | RFC 1945[8] | RequĂȘte traitĂ©e avec succĂšs mais pas dâinformation Ă renvoyer. |
205 | Reset Content | RFC 2068[9] | RequĂȘte traitĂ©e avec succĂšs, la page courante peut ĂȘtre effacĂ©e. |
206 | Partial Content | RFC 2068[9] | 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[10] | 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 | Apparition | Signification |
---|---|---|---|
300 | Multiple Choices | RFC 1945[8] | LâURI demandĂ©e se rapporte Ă plusieurs ressources. |
301 | Moved Permanently | RFC 1945[8] | Document déplacé de façon permanente. |
302 | Found | RFC 1945[8] | Document déplacé de façon temporaire. |
303 | See Other | RFC 2068[9] | La rĂ©ponse Ă cette requĂȘte est ailleurs. |
304 | Not Modified | RFC 1945[8] | Document non modifiĂ© depuis la derniĂšre requĂȘte. |
305 | Use Proxy (depuis HTTP/1.1) | RFC 2068[9] | La requĂȘte doit ĂȘtre rĂ©-adressĂ©e au proxy. |
306 | (inutilisĂ©) | RFC 2616[11] | La RFC 2616[11] indique que ce code inutilisĂ© est rĂ©servĂ©, car il Ă©tait utilisĂ© dans une ancienne version de la spĂ©cification. Il signifiait « Les requĂȘtes suivantes doivent utiliser le proxy spĂ©cifiĂ© »[12]. |
307 | Temporary Redirect | La requĂȘte doit ĂȘtre redirigĂ©e temporairement vers lâURI spĂ©cifiĂ©e sans changement de mĂ©thode[13]. | |
308 | Permanent Redirect | La requĂȘte doit ĂȘtre redirigĂ©e dĂ©finitivement vers lâURI spĂ©cifiĂ©e sans changement de mĂ©thode[14]. | |
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 | Apparition | Signification |
---|---|---|---|
400 | Bad Request | RFC 1945[8] | La syntaxe de la requĂȘte est erronĂ©e. |
401 | Unauthorized | RFC 1945[8] | Une authentification est nécessaire pour accéder à la ressource. |
402 | Payment Required | RFC 2068[9] | Paiement requis pour accéder à la ressource. |
403 | Forbidden | RFC 1945[8] | 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 | RFC 1945[8] | Ressource non trouvée. |
405 | Method Not Allowed | RFC 2068[9] | MĂ©thode de requĂȘte non autorisĂ©e. |
406 | Not Acceptable | RFC 2068[9] | 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 | RFC 2068[9] | AccÚs à la ressource autorisé par identification avec le proxy. |
408 | Request Time-out | RFC 2068[9] | 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 »[15]. |
409 | Conflict | RFC 2068[9] | La requĂȘte ne peut ĂȘtre traitĂ©e Ă la suite d'un conflit avec l'Ă©tat actuel du serveur. |
410 | Gone | RFC 2068[9] | La ressource n'est plus disponible et aucune adresse de redirection nâest connue. |
411 | Length Required | RFC 2068[9] | La longueur de la requĂȘte nâa pas Ă©tĂ© prĂ©cisĂ©e. |
412 | Precondition Failed | RFC 2068[9] | PrĂ©conditions envoyĂ©es par la requĂȘte non vĂ©rifiĂ©es. |
413 | Request Entity Too Large | RFC 2068[9] | Traitement abandonnĂ© dĂ» Ă une requĂȘte trop importante. |
414 | Request-URI Too Long | RFC 2068[9] | URI trop longue. |
415 | Unsupported Media Type | RFC 2068[9] | 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 | RFC 2324[16] | « Je suis une thĂ©iĂšre » : Ce code est dĂ©fini dans la RFC 2324[17] datĂ©e du , Hyper Text Coffee Pot Control Protocol. |
419 | Page expired | Ressource expirée | |
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[18] | Le serveur ne peut traiter la demande car elle risque d'ĂȘtre rejouĂ©e. |
426 | Upgrade Required | RFC 2817[19] | Le client devrait changer de protocole, par exemple au profit de TLS/1.0. |
427 | Invalid digital signature | Microsoft | La signature numérique du document est non-valide. |
428 | Precondition Required | RFC 6585[20] : La requĂȘte doit ĂȘtre conditionnelle. | |
429 | Too Many Requests | RFC 6585[21] | le client a Ă©mis trop de requĂȘtes dans un dĂ©lai donnĂ©. |
431 | Request Header Fields Too Large | RFC 6585[21] | Les entĂȘtes HTTP Ă©mises dĂ©passent la taille maximale admise par le serveur. |
449 | Retry With | Microsoft | La requĂȘte devrait ĂȘtre renvoyĂ©e aprĂšs avoir effectuĂ© une action. |
450 | Blocked by Windows Parental Controls | Microsoft | Cette erreur est produite lorsque les outils de contrĂŽle parental de Microsoft Windows sont activĂ©s et bloquent lâaccĂšs Ă la page. |
451 | Unavailable For Legal Reasons | RFC 7725[22] | La ressource demandée est inaccessible pour des raisons d'ordre légal. |
456 | Unrecoverable Error | WebDAV : Erreur irrécupérable. |
Code | Message | Apparition | Signification |
---|---|---|---|
444 | No Response | Nginx | Indique que le serveur n'a retourné aucune information vers le client et a fermé la connexion. |
495 | SSL Certificate Error | Nginx | Une extension de l'erreur 400 Bad Request, utilisée lorsque le client a fourni un certificat invalide. |
496 | SSL Certificate Required | Nginx | 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 | Nginx | 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 | Nginx | Le jeton a expiré ou est invalide. |
499 | Client Closed Request | Nginx | 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[23]. |
5xx - Erreur du serveur / du serveur d'application
Code | Message | Apparition | Signification |
---|---|---|---|
500 | Internal Server Error | RFC 1945[8] | Erreur interne du serveur. |
501 | Not Implemented | RFC 1945[8] | Fonctionnalité réclamée non supportée par le serveur. |
502 | Bad Gateway ou Proxy Error | RFC 1945[8] | 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 | RFC 1945[8] | Service temporairement indisponible ou en maintenance. |
504 | Gateway Time-out | RFC 2068[9] | Temps dâattente dâune rĂ©ponse dâun serveur Ă un serveur intermĂ©diaire Ă©coulĂ©. |
505 | HTTP Version not supported | RFC 2068[9] | Version HTTP non gérée par le serveur. |
506 | Variant Also Negotiates | RFC 2295[24] | 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[25]). |
509 | Bandwidth Limit Exceeded | Utilisé par de nombreux serveurs pour indiquer un dépassement de quota. | |
510 | Not extended | RFC 2774[26] | La requĂȘte ne respecte pas la politique d'accĂšs aux ressources HTTP Ă©tendues. |
511 | Network authentication required | RFC 6585[21] | 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 | Apparition | Signification |
---|---|---|---|
520 | Unknown Error | Cloudflare | Réponse générique lorsque le serveur d'origine retourne un résultat imprévu. |
521 | Web Server Is Down | Cloudflare | Le serveur a refusé la connexion depuis Cloudflare. |
522 | Connection Timed Out | Cloudflare | Cloudflare n'a pas eu de retour avec le serveur d'origine dans les temps. |
523 | Origin Is Unreachable | Cloudflare | 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 | 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 | Cloudflare n'a pas pu négocier un SSL/TLS handshake avec le serveur d'origine. |
526 | Invalid SSL Certificate | Cloudflare | Cloudflare n'a pas pu valider le certificat SSL présenté par le serveur d'origine. |
527 | Railgun Error | Cloudflare | 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
Notes et références
- (en) « Hypertext Transfer Protocol -- HTTP/1.0 », Request for comments no 1945, .
- (en) « Hypertext Transfer Protocol -- HTTP/1.1 », Request for comments no 2068, .
- (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 1945.
- (en) Request for comments no 2068.
- (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 )
- (en) « RFC 7231 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content », sur datatracker.ietf.org (consulté le )
- « RFC 7538 - The Hypertext Transfer Protocol Status Code 308 (Permanent Redirect) », sur datatracker.ietf.org (consulté le )
- « 408 », sur httpstatus.es (consulté le )
- (en) Request for comments no 2324.
- (en) « Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0) », Request for comments no 2324, .
- (en) Request for comments no 8470.
- (en) Request for comments no 2817.
- (en) « Additional HTTP Status Codes », Request for comments no 6585, .
- (en) Request for comments no 6585.
- (en) Request for comments no 7725.
- (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.
Liens externes
- (en)developer.mozilla.org Documentation Mozilla Firefox
- http-statuscode.com Tous les codes d'état HTTP expliqués