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.
Autres extensions