Aide-mémoire des codes d'état HTTP
Réponses informatives
| Code d’état | Phrase de raison | Signification | Version HTTP |
|---|---|---|---|
| 100 | Continue | Le client doit continuer à envoyer la requête. Cette réponse temporaire est utilisée pour informer le client qu’une partie de sa requête a été reçue par le serveur et n’a pas encore été rejetée. Le client doit continuer à envoyer le reste de la requête, ou si la requête est déjà complète, ignorer cette réponse. Le serveur doit envoyer une réponse finale une fois la requête terminée. | HTTP/1.1 Disponible |
| 101 | Switching Protocols | Le serveur a compris la requête du client et l’informera via l’en-tête de message Upgrade d’utiliser un protocole différent pour terminer la requête. Après avoir envoyé la dernière ligne vide de cette réponse, le serveur passera aux protocoles définis dans l’en-tête de message Upgrade. Cette mesure ne doit être prise que lorsqu’un passage à un nouveau protocole est plus avantageux. Par exemple, passer à une nouvelle version de HTTP est plus avantageux qu’une ancienne version, ou passer à un protocole synchrone en temps réel pour livrer des ressources utilisant de telles fonctionnalités. | HTTP/1.1 Disponible |
Réponses de succès
| Code d’état | Phrase de raison | Signification | Version HTTP |
|---|---|---|---|
| 200 | OK | La requête a réussi. La signification du succès varie selon la méthode utilisée par la requête.- GET : La ressource a été extraite et renvoyée au client en tant que corps de réponse.- HEAD : L’en-tête de l’entité a été renvoyé au client en tant qu’en-tête de réponse.- POST : Une fois que le serveur a traité les données envoyées par le client, la ressource appropriée est renvoyée au client en tant que corps de réponse.- TRACE : Le message de requête reçu par le serveur est renvoyé au client en tant que corps de réponse. | HTTP/0.9 Disponible |
| 201 | Created | La requête a réussi et une nouvelle ressource a été créée en fonction des besoins de la requête. Il s’agit généralement du code de réponse obtenu par la méthode PUT. | HTTP/0.9 Disponible |
| 202 | Accepted | Le serveur a accepté la requête mais ne l’a pas encore traitée. De même qu’elle pourrait être rejetée, la requête peut ou non être finalement exécutée. Dans les opérations asynchrones, il n’y a pas de moyen plus pratique que d’envoyer ce code d’état. L’objectif du renvoi d’une réponse avec le code d’état 202 est de permettre au serveur d’accepter des requêtes pour d’autres processus (par exemple, une opération par lots qui ne s’exécute qu’une fois par jour) sans avoir à maintenir le client connecté jusqu’à ce que l’opération par lots soit terminée. La réponse renvoyant le code d’état 202 doit inclure des informations indiquant l’état actuel du traitement dans l’entité, et un pointeur vers un moniteur d’état de traitement ou une prédiction d’état, afin que l’utilisateur puisse estimer si l’opération a été terminée. | HTTP/0.9 Disponible |
| 203 | Non-Authoritative Information | Le serveur a traité la requête avec succès, mais les méta-informations de l’en-tête de l’entité renvoyées ne constituent pas un ensemble déterministe valide sur le serveur d’origine, mais proviennent d’une copie locale ou tierce. Si ce n’est pas le cas, l’utilisation du code d’état 200 est la plus appropriée. | HTTP/0.9 et 1.1 |
| 204 | No Content | Il n’y a pas de contenu de réponse, seulement des en-têtes de réponse. Les en-têtes de réponse peuvent également être utiles. Les agents utilisateurs peuvent mettre à jour les informations de cache des ressources correspondantes en fonction des nouveaux en-têtes de réponse. | HTTP/0.9 Disponible |
| 205 | Reset Content | Indique à l’agent utilisateur de réinitialiser la vue du document de la fenêtre qui a envoyé la requête. | HTTP/1.1 Disponible |
| 206 | Partial Content | Ce code d’état est utilisé lorsque le client télécharge des fichiers par segments en utilisant le champ d’en-tête range (plage). | HTTP/1.1 Disponible |
Messages de redirection
| Code d’état | Phrase de raison | Signification | Version HTTP |
|---|---|---|---|
| 300 | Multiple Choice | Il existe plusieurs réponses possibles à la requête, et l’agent utilisateur ou l’utilisateur doit en choisir une. Le serveur ne dispose d’aucune norme à suivre pour remplacer l’utilisateur dans son choix. | HTTP/1.0 et versions ultérieures |
| 301 | Moved Permanently | Ce code d’état indique que le chemin de la ressource URI demandée a changé et que la nouvelle URL se trouve dans le champ d’en-tête Location de la réponse. |
HTTP/0.9 Disponible |
| 302 | Found | Ce code d’état indique que le chemin de la ressource URI demandée a changé temporairement et peut continuer à changer. Par conséquent, le client doit continuer à utiliser cet URI pour les accès futurs. La nouvelle URL se trouve dans le champ d’en-tête Location: de la réponse. |
HTTP/0.9 Disponible |
| 303 | See Other | Le serveur envoie cette réponse pour guider le client à utiliser la méthode GET pour accéder à un autre URI. | HTTP/0.9 et 1.1 |
| 304 | Not Modified | Indique au client que le contenu demandé n’a pas changé depuis le dernier accès. Le client peut obtenir la ressource directement à partir du cache du navigateur. | HTTP/0.9 Disponible |
| 305 | Use Proxy | La ressource demandée doit être consultée via un proxy. Pour des raisons de sécurité, ce code d’état n’est pas largement pris en charge. | HTTP/1.1 Disponible |
| 306 | unused | Ce code d’état n’est plus utilisé ; il était à l’origine utilisé dans les anciennes versions de la spécification HTTP 1.1. | HTTP/1.1 Disponible |
| 307 | Temporary Redirect | Le serveur envoie cette réponse pour guider le client à utiliser la même méthode pour accéder à un autre URI afin d’obtenir la ressource souhaitée. La nouvelle URL se trouve dans le champ d’en-tête Location: de la réponse. Elle a la même sémantique que le code d’état 302, et la même méthode (GET, POST) doit être utilisée pour les deux accès. |
HTTP/1.1 Disponible |
| 308 | Permanent Redirect | La ressource demandée sera située de manière permanente sur un autre URI. La nouvelle URL se trouve dans le champ d’en-tête Location: de la réponse. Elle a la même sémantique que le code d’état 301, et la même méthode (GET, POST) doit être utilisée pour les deux accès. |
HTTPbis (Brouillon expérimental) |
Réponses d’erreur client
| Code d’état | Phrase de raison | Signification | Version HTTP |
|---|---|---|---|
| 400 | Bad Request | Le serveur ne peut pas lire la requête normalement en raison d’une erreur de syntaxe dans la requête envoyée. | HTTP/0.9 Disponible |
| 401 | Unauthorized | Une authentification est requise pour obtenir le contenu demandé, comme pour une erreur 403. La différence est qu’après une erreur 401, l’authentification peut être réussie à condition de saisir le compte et le mot de passe corrects. | HTTP/0.9 Disponible |
| 402 | Payment Required | Ce code d’état est réservé pour une utilisation future. L’objectif initial de la création de ce code était pour les systèmes de paiement numérique ; cependant, il n’a pas encore été mis en service. | HTTP/0.9 et 1.1 |
| 403 | Forbidden | Le client n’a pas le droit d’accéder au contenu demandé et le serveur refuse la requête. | HTTP/0.9 Disponible |
| 404 | Not Found | Le serveur ne trouve pas la ressource demandée. Comme cela se produit fréquemment, ce code d’état est très courant lors de la navigation sur le Web. | HTTP/0.9 Disponible |
| 405 | Method Not Allowed | La méthode utilisée par la requête est interdite par le serveur. La RFC2616 stipule que les méthodes GET et HEAD ne peuvent pas être interdites. |
HTTP/1.1 Disponible |
| 406 | Not Acceptable | Aucun contenu approprié n’a été trouvé pour être renvoyé au client après une négociation de contenu pilotée par le serveur. | HTTP/1.1 Disponible |
| 407 | Proxy Authentication Required | Similaire au code d’état 401, mais l’authentification est requise via un proxy. | HTTP/1.1 Disponible |
| 408 | Request Timeout | Le client n’a pas terminé l’envoi d’une requête pendant le temps que le serveur était prêt à attendre. Cela signifie que le serveur coupera la connexion avec le client. Cette réponse est plus courante dans d’autres navigateurs, tels que Chrome et IE9, afin d’accélérer les vitesses de navigation via le mécanisme de préconnexion HTTP. Notez également que certains serveurs coupent directement la connexion sans envoyer une telle réponse. | HTTP/1.1 Disponible |
| 409 | Conflict | Cette requête est en conflit avec l’état actuel du serveur. | HTTP/1.1 Disponible |
| 410 | Gone | La ressource demandée a été supprimée. | HTTP/1.1 Disponible |
| 411 | Length Required | Le serveur refuse la requête car il requiert le champ d’en-tête Content-Length dans cette requête, mais le client ne l’a pas envoyé. |
HTTP/1.1 Disponible |
| 412 | Precondition Failed | Le serveur n’a pas réussi à satisfaire les conditions préalables définies par le client dans les champs d’en-tête de requête lors de l’obtention de la ressource. | HTTP/1.1 Disponible |
| 413 | Request Entity Too Large | La taille de l’entité de requête dépasse la limite maximale définie par le serveur ; le serveur peut fermer la connexion HTTP et renvoyer le champ d’en-tête Retry-After. |
HTTP/1.1 Disponible |
| 414 | Request-URI Too Long | L’adresse URI contenue dans la requête client est trop longue pour être traitée par le serveur. | HTTP/1.1 Disponible |
| 415 | Unsupported Media Type | Le serveur ne prend pas en charge le type de média demandé par le client et refuse donc la requête. | HTTP/1.1 Disponible |
| 416 | Requested Range Not Satisfiable | Le champ d’en-tête Range inclus dans la requête ne peut pas être satisfait, généralement parce que la plage numérique dans Range dépasse la taille de la ressource demandée. |
HTTP/1.1 Disponible |
| 417 | Expectation Failed | Le contenu attendu spécifié dans l’en-tête de requête Expect ne peut pas être satisfait par le serveur. |
HTTP/1.1 Disponible |
Réponses d’erreur serveur
| Code d’état | Phrase de raison | Signification | Version HTTP |
|---|---|---|---|
| 500 | Internal Server Error | Le serveur a rencontré un problème inconnu et insoluble. | HTTP/0.9 Disponible |
| 501 | Not Implemented | Le serveur ne prend pas en charge la méthode utilisée dans la requête, telle que POST et PUT. Seules GET et HEAD sont les méthodes que le serveur doit implémenter comme spécifié dans la spécification RFC2616. |
HTTP/0.9 Disponible |
| 502 | Bad Gateway | Le serveur agit en tant que passerelle et reçoit une réponse HTTP non valide du serveur en amont. | HTTP/0.9 Disponible |
| 503 | Service Unavailable | Le serveur est actuellement incapable de traiter la requête en raison d’une maintenance temporaire du serveur ou d’une surcharge. Cette situation est temporaire et se rétablira après une certaine période. Si le temps de retard peut être estimé, la réponse peut inclure un en-tête Retry-After: pour indiquer ce temps de retard. Si aucune information Retry-After: n’est fournie, le client doit la gérer comme une réponse 500. Pendant ce temps, dans ce cas, une page conviviale expliquant le problème avec le serveur doit être renvoyée, et les informations d’en-tête HTTP liées au cache doivent également être incluses, car généralement ces pages de conseils d’erreur ne doivent pas être mises en cache par le client. |
HTTP/0.9 Disponible |
| 504 | Gateway Timeout | Le serveur agit en tant que passerelle et ne peut pas obtenir une réponse en temps opportun du serveur en amont pour la renvoyer au client. | HTTP/1.1 Disponible |
| 505 | HTTP Version Not Supported | Le serveur ne prend pas en charge la version du protocole HTTP utilisée dans la requête HTTP envoyée par le client. | HTTP/1.1 Disponible |