Les codes d'état des réponses HTTP indiquent si une demande HTTP spécifique a été menée à bien. Les réponses sont regroupées en cinq classes :

  1. Réponses informationnelles (100-199)
  2. Réponses réussies (200-299)
  3. Redirections (300-399)
  4. Erreurs client (400-499)
  5. Erreurs du serveur (500-599)

Les codes d'état ci-dessous sont définis par la section 10 du RFC 2616. Vous pouvez trouver une spécification mise à jour dans RFC 7231.

Si vous recevez une réponse qui ne figure pas dans cette liste, il s'agit d'une réponse non standard, éventuellement personnalisée par le logiciel du serveur.

Réponses d'information

100 Continue
Cette réponse intermédiaire indique que tout est OK jusqu'à présent et que le client doit poursuivre la demande, ou ignorer la réponse si la demande est déjà terminée.
101 Switching Protocol
Ce code est envoyé en réponse à un Upgrade du client, et indique le protocole sur lequel le serveur bascule.
102 Processing (WebDAV)
Ce code indique que le serveur a reçu et traite la demande, mais qu'aucune réponse n'est encore disponible.
103 Early Hints
Ce code d'état est principalement destiné à être utilisé avec le code d'état Link en-tête, laissant l'agent utilisateur commencer le préchargement de ressources pendant que le serveur prépare une réponse.

Réponses réussies

200 OK
La requête a réussi. La signification du succès dépend de la méthode HTTP :

  • GET: La ressource a été récupérée et est transmise dans le corps du message.
  • HEAD: Les en-têtes de l'entité se trouvent dans le corps du message.
  • PUT ou 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 demande tel que reçu par le serveur.
201 Created
La demande a réussi et une nouvelle ressource a été créée en conséquence. C'est typiquement la réponse envoyée après POST ou des demandes PUT ou certaines demandes PUT.
202 Accepted
La demande a été reçue mais il n'y a pas encore été donné suite. Elle est sans engagement, car il n'existe aucun moyen dans HTTP d'envoyer ultérieurement une réponse asynchrone indiquant le résultat de la demande. Il est destiné aux cas où un autre processus ou serveur traite la demande, ou pour le traitement par lots.
203 Non-Authoritative Information
Ce code de réponse signifie que les méta-informations renvoyées ne sont pas exactement les mêmes que celles disponibles sur le serveur d'origine, mais qu'elles sont collectées à partir d'une copie locale ou tierce. Ceci est principalement utilisé pour les miroirs ou les sauvegardes d'une autre ressource. Sauf dans ce cas précis, la réponse "200 OK" est préférée à ce statut.
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 avec les nouveaux en-têtes.
205 Reset Content
Indique à l'agent utilisateur de réinitialiser le document qui a envoyé cette requête.
206 Partial Content
Ce code de réponse est utilisé lorsque le code Range est envoyé par le client pour demander seulement une partie d'une ressource.
207 Multi-Status (WebDAV)
Transmet des informations sur plusieurs ressources, pour des situations où plusieurs codes d'état pourraient être appropriés.
208 Already Reported (WebDAV)
Utilisé à l'intérieur d'un pour éviter d'énumérer de manière répétée les membres internes de plusieurs liaisons avec la même collection.
226 IM Used (Encodage HTTP Delta)
Le serveur a rempli un GET requête 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 actuelle.

Messages de redirection

300 Multiple Choice
La requête a plus d'une réponse possible. L'agent utilisateur ou l'utilisateur doit choisir l'une d'entre elles. (Il n'y a pas de moyen normalisé de choisir l'une des réponses, mais il est recommandé de créer des liens HTML vers les possibilités afin que l'utilisateur puisse choisir).
301 Moved Permanently
L'URL de la ressource demandée a été modifiée de façon permanente. La nouvelle URL est indiquée dans la réponse.
302 Found
Ce code de réponse signifie que l'URI de la ressource demandée a été modifiée. de façon temporaire. D'autres modifications de l'URI pourraient être apportées à l'avenir. Par conséquent, ce même URI devrait être utilisé par le client dans les futures demandes.
303 See Other
Le serveur a envoyé cette réponse pour indiquer au client d'obtenir la ressource demandée à un autre URI avec une requête GET.
304 Not Modified
Cette réponse est utilisée à des fins de mise en cache. Il indique au client que la réponse n'a pas été modifiée, de sorte que le client peut continuer à utiliser la même version en cache de la réponse.
305 Use Proxy
Défini dans une version précédente de la spécification HTTP pour indiquer qu'une réponse demandée doit être accessible par un proxy. Il a été déprécié en raison de problèmes de sécurité concernant la configuration en bande d'un proxy.
306 unused
Ce code de réponse n'est plus utiliséed; il est simplement réservé. Il était utilisé dans une version précédente de la spécification HTTP/1.1.
307 Temporary Redirect
Le serveur envoie cette réponse pour indiquer au client d'obtenir la ressource demandée à un autre URI avec la même méthode que celle utilisée dans la demande précédente. Cette réponse a la même sémantique que la réponse 302 Found code de réponse HTTP, à l'exception du fait que l'agent utilisateur ne doit pas modifier la méthode HTTP utilisée : Si un POST a été utilisée lors de la première requête, une POST doit être utilisé dans la deuxième requête.
308 Permanent Redirect
Cela signifie que la ressource est maintenant localisée de façon permanente à un autre URI, spécifié par le paramètre Location: en-tête de réponse HTTP. Cela a la même sémantique que l'en-tête 301 Moved Permanently code de réponse HTTP, à l'exception du fait que l'agent utilisateur ne doit pas modifier la méthode HTTP utilisée : Si un POST a été utilisée lors de la première requête, une POST doit être utilisé dans la deuxième demande.

Réponses d'erreur du client

400 Bad Request
Le serveur n'a pas pu comprendre la requête en raison d'une syntaxe invalide.
401 Unauthorized
Bien que la norme HTTP spécifie "unauthorized", sémantiquement cette réponse signifie "unauthenticated". C'est-à-dire que le client doit s'authentifier pour obtenir la réponse demandée.
402 Payment Required
Ce code de réponse est réservé pour une utilisation future. L'objectif initial de la création de ce code était de l'utiliser pour les systèmes de paiement numérique, cependant ce code d'état est très rarement utilisé et aucune convention standard n'existe.
403 Forbidden
Le client n'a pas les droits d'accès au contenu, c'est-à-dire qu'il n'est pas autorisé, donc le serveur refuse de donner la ressource demandée. Contrairement à 401, l'identité du client est connue du serveur.
404 Not Found
Le serveur ne peut pas trouver la ressource demandée. Dans le navigateur, cela signifie que l'URL n'est pas reconnue. Dans une API, cela peut également signifier que le point de terminaison est valide mais que la ressource elle-même n'existe pas. Les serveurs peuvent également envoyer cette réponse au lieu de 403 pour cacher l'existence d'une ressource à un client non autorisé. Ce code de réponse est probablement le plus célèbre en raison de son occurrence fréquente sur le web.
405 Method Not Allowed
La méthode de requête est connue par le serveur mais a été désactivée et ne peut pas être utilisée. Par exemple, une API peut interdire le DELETE-ing d'une ressource. Les deux méthodes obligatoires, GET et HEAD, ne doivent jamais être désactivées et ne doivent pas renvoyer ce code d'erreur.
406 Not Acceptable
Cette réponse est envoyée lorsque le serveur Web, après avoir exécuté les opérations suivantes une négociation de contenu pilotée par le serveur, ne trouve pas de contenu conforme aux critères donnés par l'agent utilisateur.
407 Proxy Authentication Required
C'est similaire à 401 mais l'authentification doit être faite par un proxy.
408 Request Timeout
Cette réponse est envoyée sur une connexion inactive par certains serveurs, même sans demande préalable du client. Elle signifie que le serveur souhaite fermer cette connexion inutilisée. Cette réponse est beaucoup plus utilisée depuis que certains navigateurs, comme Chrome, Firefox 27+ ou IE9, utilisent des mécanismes de pré-connexion HTTP pour accélérer la navigation. Notez également que certains serveurs se contentent de fermer la connexion sans envoyer ce message.
409 Conflict
Cette réponse est envoyée lorsqu'une requête entre en conflit avec l'état actuel du serveur.
410 Gone
Cette réponse est envoyée lorsque le contenu demandé a été définitivement supprimé du serveur, sans adresse de transfert. Les clients sont censés supprimer leurs caches et leurs liens vers la ressource. La spécification HTTP prévoit que ce code d'état soit utilisé pour les "services promotionnels à durée limitée". Les API ne doivent pas se sentir obligées d'indiquer les ressources qui ont été supprimées avec ce code d'état.
411 Length Required
Le serveur a rejeté la demande parce que le Content-Length n'est pas défini et que le serveur l'exige.
412 Precondition Failed
Le client a indiqué des conditions préalables dans ses en-têtes que le serveur ne satisfait pas.
413 Payload Too Large
L'entité de la requête est plus grande que les limites définies par le serveur ; le serveur pourrait fermer la connexion ou renvoyer un message d'erreur. Retry-After dans le champ d'en-tête.
414 URI Too Long
L'URI demandé par le client est plus long que ce que le serveur est prêt à interpréter.
415 Unsupported Media Type
Le format de média des données demandées n'est pas supporté par le serveur, donc le serveur rejette la demande.
416 Range Not Satisfiable
La plage spécifiée par le paramètre Range du champ d'en-tête de la requête ne peut pas être remplie.ed; il est possible que la plage soit en dehors de la taille des données de l'URI cible.
417 Expectation Failed
Ce code de réponse signifie que l'attente indiquée par l'en-tête Expect champ d'en-tête de la demande ne peut pas être satisfaite par le serveur.
418 I'm a teapot
Le serveur refuse la tentative de faire du café avec une théière.
421 Misdirected Request
La requête a été dirigée vers un serveur qui n'est pas en mesure de produire une réponse. Ceci peut être envoyé par un serveur qui n'est pas configuré pour produire des réponses pour la combinaison de schéma et d'autorité qui sont inclus dans l'URI de la demande.
422 Unprocessable Entity (WebDAV)
La demande était bien formée mais n'a pas pu être suivie en raison d'erreurs sémantiques.
423 Locked (WebDAV)
La ressource à laquelle on accède est verrouillée.
424 Failed Dependency (WebDAV)
La requête a échoué en raison de l'échec d'une requête précédente.
425 Too Early
Indique que le serveur ne veut pas prendre le risque de traiter une requête qui pourrait être rejouée.
426 Upgrade Required
Le serveur refuse d'exécuter la requête en utilisant le protocole actuel mais pourrait être disposé à le faire après que le client ait effectué une mise à niveau vers un protocole différent. Le serveur envoie un Upgrade dans une réponse 426 pour indiquer le ou les protocoles requis.
428 Precondition Required
Le serveur d'origine exige que la demande soit conditionnelle. Cette réponse est destinée à empêcher le problème de la "mise à jour perdue", où un client obtient l'état d'une ressource, le modifie et le renvoie au serveur (PUT), alors qu'entre-temps un tiers a modifié l'état sur le serveur, ce qui entraîne un conflit.
429 Too Many Requests
L'utilisateur a envoyé trop de requêtes dans un laps de temps donné ("rate limiting").
431 Request Header Fields Too Large
Le serveur ne veut pas traiter la demande car ses champs d'en-tête sont trop grands. La demande peut être soumise à nouveau après avoir réduit la taille des champs d'en-tête de la demande.
451 Unavailable For Legal Reasons
L'agent utilisateur a demandé une ressource qui ne peut pas être légalement fournie, comme une page web censurée par un gouvernement.

Réponses d'erreur du serveur

500 Internal Server Error
Le serveur a rencontré une situation qu'il ne sait pas comment gérer.
501 Not Implemented
La méthode de requête n'est pas prise en charge par le serveur et ne peut pas être traitée. Les seules méthodes que les serveurs sont tenus de prendre en charge (et qui ne doivent donc pas renvoyer ce code) sont les suivantes. GET et HEAD.
502 Bad Gateway
Cette réponse d'erreur signifie que le serveur, tout en travaillant comme une passerelle pour obtenir une réponse nécessaire au traitement de la demande, a obtenu une réponse invalide.
503 Service Unavailable
Le serveur n'est pas prêt à traiter la demande. Les causes courantes sont un serveur en panne pour maintenance ou qui est surchargé. Notez qu'avec cette réponse, une page conviviale expliquant le problème doit être envoyée. Cette réponse doit être utilisée pour des conditions temporaires et l'option Retry-After: HTTP devrait, si possible, contenir le temps estimé avant le rétablissement du service. Le webmaster doit également faire attention aux en-têtes liés à la mise en cache qui sont envoyés avec cette réponse, car ces réponses de conditions temporaires ne doivent généralement pas être mises en cache.
504 Gateway Timeout
Cette réponse d'erreur est donnée lorsque le serveur agit comme une passerelle et ne peut pas obtenir une réponse à temps.
505 HTTP Version Not Supported
La version HTTP utilisée dans la requête n'est pas prise en charge par le serveur.
506 Variant Also Negotiates
Le serveur a une erreur de configuration interne : la ressource variante choisie est configurée pour s'engager elle-même dans une négociation de contenu transparente, et n'est donc pas un point final approprié dans le processus de négociation.
507 Insufficient Storage (WebDAV)
La méthode n'a pas pu être exécutée sur la ressource car le serveur est incapable de stocker la représentation nécessaire pour mener à bien la requête.
508 Loop Detected (WebDAV)
Le serveur a détecté une boucle infinie lors du traitement de la requête.
510 Not Extended
D'autres extensions de la demande sont nécessaires pour que le serveur puisse la satisfaire.
511 Network Authentication Required
Le code d'état 511 indique que le client doit s'authentifier pour obtenir un accès au réseau.

Compatibilité des navigateurs Mise à jour des données de compatibilité sur GitHub.

Bureau
Chrome Edge Firefox Internet Explorer Opera Safari
100 Oui 12 Oui Oui Oui Oui
200 Oui 12 Oui Oui Oui Oui
201 Oui 12 Oui Oui Oui Oui
204 Oui 12 Oui Oui Oui Oui
206 Oui 12 Oui Oui Oui Oui
301 Oui 12 Oui Oui Oui Oui
302 Oui 12 Oui Oui Oui Oui
303 Oui 12 Oui Oui Oui Oui
304 Oui 12 Oui Oui Oui Oui
307 Oui 12 Oui Oui Oui Oui
308 36 12 14 11

11
Ne fonctionne pas sous Windows 10.
24 7
401 Oui 12 Oui Oui Oui Oui
403 Oui 12 Oui Oui Oui Oui
404 Oui 12 Oui Oui Oui Oui
406 Oui 12 Oui Oui Oui Oui
407 Oui 12 Oui Oui Oui Oui
409 Oui 12 Oui Oui Oui Oui
410 Oui 12 Oui Oui Oui Oui
412 Oui 12 Oui Oui Oui Oui
416 Oui 12 Oui Oui Oui Oui
418 Oui 12 Oui Oui Oui Oui
425 ? ? 58 ? ? ?
451 Oui 12 Oui Oui Oui Oui
500 Oui 12 Oui Oui Oui Oui
501 Oui 12 Oui Oui Oui Oui
502 Oui 12 Oui Oui Oui Oui
503 Oui 12 Oui Oui Oui Oui
504 Oui 12 Oui Oui Oui Oui
Mobile
Vue web Android Chrome pour Android Firefox pour Android Opera pour Android Safari pour iOS Samsung Internet
100 Oui Oui Oui Oui Oui Oui
200 Oui Oui Oui Oui Oui Oui
201 Oui Oui Oui Oui Oui Oui
204 Oui Oui Oui Oui Oui Oui
206 Oui Oui Oui Oui Oui Oui
301 Oui Oui Oui Oui Oui Oui
302 Oui Oui Oui Oui Oui Oui
303 Oui Oui Oui Oui Oui Oui
304 Oui Oui Oui Oui Oui Oui
307 Oui Oui Oui Oui Oui Oui
308 37 36 14 24 7 3.0
401 Oui Oui Oui Oui Oui Oui
403 Oui Oui Oui Oui Oui Oui
404 Oui Oui Oui Oui Oui Oui
406 Oui Oui Oui Oui Oui Oui
407 Oui Oui Oui Oui Oui Oui
409 Oui Oui Oui Oui Oui Oui
410 Oui Oui Oui Oui Oui Oui
412 Oui Oui Oui Oui Oui Oui
416 Oui Oui Oui Oui Oui Oui
418 Oui Oui Oui Oui Oui Oui
425 ? ? 58 ? ? ?
451 Oui Oui Oui Oui Oui Oui
500 Oui Oui Oui Oui Oui Oui
501 Oui Oui Oui Oui Oui Oui
502 Oui Oui Oui Oui Oui Oui
503 Oui Oui Oui Oui Oui Oui
504 Oui Oui Oui Oui Oui Oui

Voir aussi

© 2005-2020 Mozilla et les contributeurs individuels.
Sous licence Creative Commons Attribution-ShareAlike License v2.5 ou ultérieure.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status