Codes de statut HTTP
Lorsqu'un visiteur accède à une page web, le navigateur du visiteur envoie une requête au serveur qui héberge la page web. Avant que le navigateur ne reçoive et n'affiche la page web, le serveur qui héberge la page web renvoie un en-tête d'information (en-tête de serveur) contenant le code d'état HTTP pour répondre à la requête du navigateur.
Le terme anglais pour code d'état HTTP estHTTP Status Code。
Voici les codes d'état HTTP courants :
- 1xx (Codes d'état informatifs): Indique que la requête reçue est en cours de traitement.
- 2xx (Codes d'état de succès): Indique que la requête a été traitée normalement.
- 3xx (Codes d'état de redirection): Des opérations supplémentaires sont nécessaires pour compléter cette requête.
- 4xx (Codes d'état d'erreur client): Indique que la requête contient une erreur de syntaxe ou ne peut pas être complétée.
- 5xx (Codes d'état d'erreur serveur): Indique que le serveur a rencontré une erreur lors du traitement de la requête.
Classification des codes d'état HTTP
Les codes d'état HTTP se composent de trois chiffres décimaux, et le premier chiffre décimal définit le type de code d'état. Les réponses sont divisées en cinq catégories : réponses informatives (100–199), réponses de succès (200–299), redirections (300–399), erreurs client (400–499) et erreurs serveur (500–599) :
| Catégorie | Description de la catégorie |
|---|---|
| 1** | Informationnel — Le serveur a reçu la requête et demande au demandeur de poursuivre l'opération. |
| 2** | Succès — L'opération a été reçue et traitée avec succès. |
| 3** | Redirection — D'autres opérations sont nécessaires pour compléter la requête. |
| 4** | Erreur client — La requête contient une erreur de syntaxe ou ne peut pas être complétée. |
| 5** | Erreur serveur — Le serveur a rencontré une erreur lors du traitement de la requête. |
Liste des codes d'état HTTP :
| Code d'état | Nom anglais du code d'état | Description en chinois |
|---|---|---|
| 100 | Continue | Continue. Le client doit poursuivre sa requête. |
| 101 | Switching Protocols | Switching Protocols. Le client change de protocole selon la demande du client. Il ne peut passer qu'à un protocole de niveau supérieur, par exemple, passer à une nouvelle version du protocole HTTP. |
| 200 | OK | Requête réussie. Généralement utilisé pour les requêtes GET et POST. |
| 201 | Created | Created. La requête a réussi et une nouvelle ressource a été créée. |
| 202 | Accepted | Accepted. La requête a été acceptée, mais le traitement n'est pas terminé. |
| 203 | Non-Authoritative Information | Non-Authoritative Information. La requête a réussi. Cependant, les métadonnées renvoyées ne proviennent pas du serveur d'origine mais d'une copie. |
| 204 | Aucun contenu | Aucun contenu. Le serveur a traité la requête avec succès, mais n'a renvoyé aucun contenu. Sans mettre à jour la page web, cela garantit que le navigateur continue d'afficher le document actuel. |
| 205 | Réinitialiser le contenu | Réinitialiser le contenu. Le serveur a traité la requête avec succès, et le terminal utilisateur (par exemple, le navigateur) doit réinitialiser la vue du document. Ce code de retour peut être utilisé pour effacer les champs de formulaire du navigateur. |
| 206 | Contenu partiel | Contenu partiel. Le serveur a traité avec succès une requête GET partielle. |
| 300 | Choix multiples | Choix multiples. La ressource demandée peut être disponible à plusieurs emplacements. Une liste des caractéristiques et adresses de la ressource peut être renvoyée pour que le terminal utilisateur (par exemple, le navigateur) puisse choisir. |
| 301 | Déplacé définitivement | Déplacé définitivement. La ressource demandée a été définitivement déplacée vers un nouvel URI. Les informations renvoyées incluent le nouvel URI, et le navigateur redirigera automatiquement vers le nouvel URI. Toutes les nouvelles requêtes à l'avenir devraient utiliser le nouvel URI à la place. |
| 302 | Trouvé | Déplacé temporairement. Similaire à 301. Mais la ressource n'est déplacée que temporairement. Le client doit continuer à utiliser l'URI d'origine. |
| 303 | Voir autre | Voir autre. Similaire à 301. Utilisez des requêtes GET et POST pour consulter. |
| 304 | Non modifié | Non modifié. La ressource demandée n'a pas été modifiée. Lorsque le serveur renvoie ce code d'état, il ne renvoie aucune ressource. Les clients mettent généralement en cache les ressources consultées et fournissent un en-tête indiquant que le client souhaite uniquement que les ressources modifiées après une date spécifiée soient renvoyées. |
| 305 | Utiliser un proxy | Utiliser un proxy. La ressource demandée doit être accessible via un proxy. |
| 306 | Inutilisé | Code d'état HTTP obsolète |
| 307 | Redirection temporaire | Redirection temporaire. Similaire à 302. Redirection à l'aide d'une requête GET. |
| 400 | Requête incorrecte | La requête du client contient une erreur de syntaxe que le serveur ne peut pas comprendre. |
| 401 | Non autorisé | La requête nécessite l'authentification de l'utilisateur. |
| 402 | Paiement requis | Réservé pour un usage futur. |
| 403 | Interdit | Le serveur comprend la requête du client mais refuse de l'exécuter. |
| 404 | Non trouvé | Le serveur ne peut pas trouver la ressource (page web) d'après la requête du client. Avec ce code, les concepteurs de sites web peuvent configurer une page personnalisée indiquant « La ressource que vous avez demandée est introuvable ». |
| 405 | Méthode non autorisée | La méthode dans la requête du client est interdite. |
| 406 | Non acceptable | Le serveur ne peut pas traiter la requête en fonction des caractéristiques du contenu de la requête du client. |
| 407 | Authentification proxy requise | La requête nécessite une authentification proxy. Similaire à 401, mais le demandeur doit utiliser un proxy pour l'autorisation. |
| 408 | Délai d'attente de la requête dépassé | Le serveur a attendu trop longtemps que le client envoie une requête et a dépassé le délai d'attente. |
| 409 | Conflit | Le serveur peut renvoyer ce code lorsqu'il termine la requête PUT du client. Un conflit s'est produit pendant que le serveur traitait la requête. |
| 410 | Disparu | La ressource demandée par le client n'existe plus. 410 est différent de 404. Si une ressource existait auparavant mais a été définitivement supprimée, le code 410 peut être utilisé. Les concepteurs de sites web peuvent utiliser le code 301 pour spécifier le nouvel emplacement de la ressource. |
| 411 | Longueur requise | Le serveur ne peut pas traiter les informations de requête envoyées par le client sans Content-Length. |
| 412 | Échec de la précondition | Les préconditions dans les informations de requête du client sont incorrectes. |
| 413 | Entité de requête trop grande | Parce que l'entité de requête est trop grande, le serveur ne peut pas la traiter et rejette donc la requête. Pour empêcher le client d'envoyer des requêtes en continu, le serveur peut fermer la connexion. Si le serveur n'est que temporairement incapable de la traiter, un en-tête de réponse Retry-After sera inclus. |
| 414 | URI de requête trop longue | L'URI demandée est trop longue (une URI est généralement une URL), et le serveur ne peut pas la traiter. |
| 415 | Type de média non pris en charge | Le serveur ne peut pas traiter le format de média accompagnant la requête. |
| 416 | Plage demandée non satisfaisable | La plage demandée par le client est invalide. |
| 417 | Échec de l'attente (échec attendu) | Le serveur ne peut pas satisfaire le comportement attendu spécifié par le champ Expect dans l'en-tête de la requête. |
| 418 | Je suis une théière | Le code de statut 418 est en réalité une blague du poisson d'avril. Il est défini dans la RFC 2324, qui est un document humoristique sur le Hyper Text Coffee Pot Control Protocol (HTCPCP). Dans cette blague, le code de statut 418 a été ajouté au protocole HTTP par plaisanterie. |
| 500 | Erreur interne du serveur | Erreur interne du serveur, impossible de terminer la requête. |
| 501 | Non implémenté | Le serveur ne prend pas en charge la fonctionnalité demandée et ne peut pas terminer la requête. |
| 502 | Mauvaise passerelle | Lorsqu'un serveur agissant comme passerelle ou proxy tente d'exécuter une requête, il reçoit une réponse invalide d'un serveur distant. |
| 503 | Service indisponible | En raison d'une surcharge ou d'une maintenance du système, le serveur est temporairement incapable de traiter la requête du client. La durée du délai peut être incluse dans les informations de l'en-tête Retry-After du serveur. |
| 504 | Délai d'attente de la passerelle dépassé | Le serveur agissant comme passerelle ou proxy n'a pas obtenu la requête du serveur en amont à temps. |
| 505 | Version HTTP non prise en charge | Le serveur ne prend pas en charge la version du protocole HTTP utilisée dans la requête et ne peut pas terminer le traitement. |