MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Les codes de statut de réponse HTTP indiquent si une requête HTTP a été exécutée avec succès ou non. Les réponses sont regroupées en cinq classes : les réponses informatives, les réponses de succès, les redirections, les erreurs du client et les erreurs du serveur.

Réponses informatives

100 Continue
Cette réponse intermédiaire indique que tout est OK pour le moment et que le client peut continuer sa requête ou l'ignorer si celle-ci est déjà finie.
101 Switching Protocol
Ce code est envoyé en réponse à un en-tête de requête Upgrade de la part du client et indique le protocole sur lequel passe le serveur.
103 Processing (WebDAV)
Ce code indique que le serveur a reçu et traite la requête, mais qu'aucune réponse n'est disponible pour le moment.

Réponses de succès

200 OK
La requête a réussi. Le signification du succès peut varier selon la méthode HTTP :
GET : La ressource a été récupérée et est retransmise dans le corps du message.
HEAD : Les en-têtes d'entité sont dans le corps du message.
POST : La ressource décrivant le résultat de l'action est transmise dans le corps du message.
TRACE : Le corps du message contient le message de requête tel que reçu par le serveur
201 Created
La requête a réussi et une nouvelle ressource a été créée en guise de résultat. Il s'agit typiquement de la réponse envoyée après une requête PUT.
202 Accepted
La requête a été reçue mais n'a pas encore été traitée. C'est une réponse évasive, ce qui signifie qu'il n'y a aucun moyen en HTTP d'envoyer une réponse asynchrone ultérieure indiquant le résultat issu du traitement de la requête. Elle est destinée aux cas où un autre processus ou serveur gère la requête, et peut être utile pour faire du traitement par lots.
203 Non-Authoritative Information
Ce code de réponse signifie que l'ensemble de méta-informations renvoyé n'est pas exactement l'ensemble disponible sur le serveur d'origine, mais plutôt un ensemble collecté à partir d'une copie locale ou tierce. À l'exception de cette condition, une réponse 200 OK est préférable.
204 No Content
Il n'y a pas de contenu à envoyer pour cette requête, mais les en-têtes peuvent être utiles. L'agent utilisateur peut mettre à jour ses en-têtes en cache pour cette ressource en les remplaçant par les nouveaux.
205 Reset Content
Ce code de réponse est envoyé après avoir traité une requête indiquant à l'agent utilisateur qu'il peut réinitialiser la vue du document qui a envoyé la requête.
206 Partial Content
Ce code de réponse est utilisé en réaction à l'en-tête Range envoyé par le client pour séparer le téléchargement en plusieurs flux.
207 Multi-Status (WebDAV)
Une réponse multi-statut donne des informations sur des ressources multiples dans les situations où les codes de statut multiples sont appropriés.
208 Multi-Status (WebDAV)
Utilisé au sein d'un DAV : élément de réponse propstat pour éviter d'énumérer à maintes reprises les membres internes de bindings multiples vers la même collection.
226 IM Used (HTTP Delta encoding)
Le serveur a exécuté une requête GET pour la ressource, et la réponse est une représentation du résultat d'une ou plusieurs manipulations d'instance appliquées à l'instance courante.

Messages de redirection

300 Multiple Choice
La requête a plusieurs réponses possibles. L'agent utilisateur ou l'utilisateur doit choisir l'une d'entre elles. Il n'y a pas de manière standard pour choisir l'une de ces réponses.
301 Moved Permanently
Ce code de réponse signifie que l'URI de la ressource demandée a été modifiée. Une nouvelle URI sera probablement donnée dans la réponse.
302 Found
Ce code de réponse indique que l'URI de la ressource demandée a été modifiée temporairement. De nouveaux changements dans l'URI pourront être effectués ultérieurement. Par conséquent, cette même URI devrait être utilisée par le client pour les requêtes futures.
303 See Other
Le serveur a envoyé cette réponse pour diriger le client vers la ressource demandée via une autre URI en utilisant une requête GET.
304 Not Modified
Ce code est utilisé pour des raisons de cache. Il indique au client que la réponse n'a pas été modifiée. De fait, le client peut continuer à utiliser la même version de la réponse, mise en cache.
305 Use Proxy
A été défini dans une version antérieure de la spécification HTTP pour indiquer qu'une réponse sollicitée doit transiter par un proxy. Ce code est aujourd'hui périmé pour des raisons de sécurité relatives à la configuration d'un proxy.
306 unused
Ce code de réponse n'est plus en service, son usage est actuellement réservé. Il était utilisé dans une version précédente de la spécification HTTP 1.1.
307 Temporary Redirect
Le serveur a envoyé cette réponse pour rediriger le client afin d'obtenir la ressource demandée via une autre URI, en utilisant la même méthode que précédemment. Ce code a la même sémantique que le code 302 Found, à l'exception près que l'agent utilisateur ne doit pas changer la méthode HTTP utilisée : si POST était utilisé dans la première requête, alors POST doit être utilisé dans la seconde.
308 Permanent Redirect
Cela signifie que la ressource a été déplacée de manière permante vers une autre URI, spécifiée dans l'en-tête de réponse HTTP Location:. Ce code a la même sémantique que le code 301 Moved Permanently, à l'exception près que l'agent utilisateur ne doit pas changer la méthode HTTP utilisée : si POST était utilisé dans la première requête, alors POST doit être utilisé dans la seconde.

Réponses d'erreur côté client

400 Bad Request
Cette réponse indique que le serveur n'a pas pu comprendre la requête à cause d'une syntaxe invalide.
401 Unauthorized
Une identification est nécessaire pour obtenir la réponse demandée. Ceci est similaire au code 403, mais dans ce cas, l'identification est possible.
402 Payment Required
Ce code de réponse est réservé à une utilisation future. Le but initial justifiant la création de ce code était l'utilisation de systèmes de paiement numérique. Cependant, il n'est pas utilisé actuellement.
403 Forbidden
Le client n'a pas les droits d'accès au contenu, donc le serveur refuse de donner la véritable réponse.
404 Not Found
Le serveur n'a pas trouvé la ressource demandée. Ce code de réponse est principalement connu pour son apparition fréquente sur le web.
405 Method Not Allowed
La méthode de requête est connue du serveur mais a été désactivée et ne peut pas être utilisée. Les deux méthodes obligatoires, GET et HEAD, ne doivent jamais être désactivées et ne doivent pas retourner ce code d'erreur.
406 Not Acceptable 
Cette réponse est envoyée quand le serveur web, après une négotiation de contenu géré par le serveur, ne trouve rien qui satisfasse les critères donnés par l'agent utilisateur.
407 Proxy Authentication Required
Similaire au code 401, sauf que l'identification doit être faite par un proxy.
408 Request Timeout
Cette réponse est envoyée via une connexion en attente par certains serveurs, même sans qu'il y ait de requête préalable de la part du client. Cela signifie que le serveur aimerait fermer cette connexion inutilisée. Cette réponse est bien plus utilisée depuis que certains navigateurs, comme Chrome, Firefox 27+ ou IE9, utilisent des mécanismes de préconnexion HTTP pour accélerer la navigation. Notez aussi que certains serveurs ferment simplement la connexion sans même envoyer ce message.
409 Conflict
Cette réponse est envoyée quand une requête entre en conflit avec l'état actuel du serveur.
410 Gone
Cette réponse est envoyée quand le contenu demandé est supprimé du serveur.
411 Length Required
Le serveur a rejeté la requête car le champ d'en-tête Content-Length n'est pas défini et le serveur l'impose.
412 Precondition Failed
Le client a indiqué des préconditions dans ses en-têtes que le serveur ne remplit pas.
413 Payload Too Large
L'entité demandée est plus grosse que la limite définie par le serveur; le serveur peut fermer la connexion ou retourner un champ d'en-tête Retry-After.
414 URI Too Long
L'URI interrogé par le client est plus long que ce que le serveur est en mesure d'interpréter.
415 Unsupported Media Type
Le format média des données demandées n'est pas supporté par le serveur, donc le serveur rejette la requête.
416 Requested Range Not Satisfiable
La plage spécifiée par le champ d'en-tête Range de la requête ne peut pas être satisfaite ; il est possible que la plage excède la taille des données provenant de l'URI ciblé.
417 Expectation Failed
Ce code de réponse signifie que les attentes indiquées par le champ d'en-tête de requête Expect n'ont pas pu être satisfaites par le serveur.
418 I'm a teapot
Le serveur refuse de brasser du café avec une théière.
421 Misdirected Request
La requête a été envoyée à un serveur incapable de produire une réponse. Ce code peut être envoyé par un serveur qui n'a pas été configuré pour produire des réponses sujettes à la combinaison de schémas et d'identités incluse dans l'URI de la requête.
422 Unprocessable Entity (WebDAV)
La requête a bien été constituée mais n'a pas pu être traitée à cause d'erreurs sémantiques.
423 Locked (WebDAV)
La ressource qui est en train d'être consultée est verrouillée.
424 Failed Dependency (WebDAV)
La requête a échoué à cause de l'échec d'une requête précédente.
426 Upgrade Required
Le serveur refuse de traiter la requête en utilisant le protocole actuel mais peut accepter de le faire si le client opte pour un autre protocole. Le serveur doit envoyer un champ Upgrade dans l'en-tête de la réponse 426 pour indiquer le(s) protocole(s) demandé(s) (Section 6.7 de [RFC7230]).
428 Precondition Required
Le serveur d'origine impose que la requête soit conditionnelle. Ceci est prévu pour empêcher le problème de 'perte de mise à jour', où un client récupère l'état d'une ressource avec GET, le modifie, et le renvoie au serveur avec PUT pendant qu'un tiers modifie l'état du serveur, ce qui conduit à un conflit.
429 Too Many Requests
L'utilisateur a émis trop de requêtes dans un laps temps donné.
431 Request Header Fields Too Large
Le serveur n'est pas disposé à traiter la requête car les champs d'en-tête sont trop longs. La requête PEUT être renvoyée après avoir réduit la taille des en-têtes.
451 Unavailable For Legal Reasons
L'utilisateur tente d'accéder à une ressource illégale, telle qu'une page censurée par un gouvernement.

Réponses d'erreur côté serveur

500 Internal Server Error
Le serveur a rencontré une situation qu'il ne sait pas traiter.
501 Not Implemented
La méthode de requête n'est pas supportée par le serveur et ne peut pas être traitée. Les seules méthodes que les serveurs sont tenus de supporter (et donc pour lesquelles ils ne peuvent pas renvoyer ce code) sont GET et HEAD.
502 Bad Gateway
Cette réponse d'erreur signifie que le serveur, alors qu'il fonctionnait en tant que passerelle pour recevoir une reponse nécessaire pour traiter la requête, a reçu une réponse invalide.
503 Service Unavailable
Le serveur n'est pas prêt pour traiter la requête. Les causes les plus communes sont que le serveur est éteint pour maintenance ou qu'il est surchargé. Notez qu'avec cette réponse, une page ergonomique peut expliquer le problème. Ces réponses doivent être utilisées temporairement et le champ d'en-tête Retry-After doit, dans la mesure du possible, contenir une estimation de l'heure de reprise du service. Le webmestre doit aussi faire attention aux en-têtes de mise en cache qui sont envoyés avec cette réponse (qui ne doivent typiquement pas être mis en cache).
504 Gateway Timeout
Cette réponse d'erreur est renvoyée lorsque le serveur sert de passerelle et ne peut pas donner de réponse dans les temps.
505 HTTP Version Not Supported
La version de HTTP utilisée dans la requête n'est pas supportée par le serveur.
506 Variant Also Negotiates
Le serveur a une erreur de configuration interne : la négociation de contenu transparente pour la requête aboutit à une dépendance circulaire.
507 Insufficient Storage
Le serveur a une erreur de configuration interne : la ressource sélectionnée est configurée pour participer elle-même à une négociation de contenu transparente, et n'est par conséquent pas un nœud terminal valable dans le processus de négociation.
508 Loop Detected (WebDAV)
Le serveur a détecté une boucle infinie en traitant la requête.
510 Not Extended
Des extensions supplémentaires sont requises afin que le serveur puisse satisfaire la requête.
511 Network Authentication Required
Le code de statut 511 indique que le client doit s'authentifier afin de pouvoir accéder au réseau.

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : Axnyff, Badacadabra, Bromind, fscholz
 Dernière mise à jour par : Axnyff,