Skip to content

Codes de statut HTTP expliqués

Tous les codes de statut HTTP usuels, regroupés par classe : ce qu'ils signifient et quand vous les verrez. Le compagnon de référence rapide de l'outil Codes de statut HTTP.

Les codes de statut HTTP suivent tous un même schéma : le premier chiffre nomme la classe, le reste est du détail. 1xx signifie informatif, 2xx succès, 3xx redirection, 4xx une erreur du client, et 5xx une défaillance du serveur. Lisez d'abord le premier chiffre. L'outil compagnon permet d'examiner un code unique en profondeur.

Tableau de référence · 55 entréesOpen the http-status-codes tool →
55 of 55 rows
1xx Information
ContinueLe serveur a reçu les en-têtes de la requête et le client peut envoyer le corps.Après une vérification préalable avant l'envoi d'un corps volumineux.
Switching ProtocolsLe serveur accepte de basculer vers le protocole demandé par le client.Passage d'une connexion HTTP en WebSocket.
ProcessingLe serveur a reçu la requête et travaille encore dessus.Un serveur WebDAV accuse réception d'une longue requête pour éviter l'expiration côté client.
Early HintsLe serveur envoie des en-têtes préliminaires avant que la réponse finale ne soit prête.Laisser un navigateur précharger des ressources pendant que la page est encore en cours de rendu.
2xx Succès
OKLa requête a réussi et le corps de la réponse porte le résultat.Le succès standard d'un GET ou d'un PUT.
CreatedLa requête a réussi et une nouvelle ressource a été créée.À renvoyer après un POST qui crée quelque chose.
AcceptedLa requête a été acceptée pour traitement mais n'est pas encore terminée.Un travail long a démarré et s'exécute de façon asynchrone.
Non-Authoritative InformationLa requête a réussi mais les données renvoyées ont été transformées au passage.Un proxy ou un cache qui sert des métadonnées modifiées au lieu de celles de l'origine.
No ContentLa requête a réussi et il n'y a aucun corps à renvoyer.Un DELETE réussi, ou un PUT sans rien à dire.
Reset ContentLa requête a réussi et le client devrait réinitialiser la vue qui l'a envoyée.Après l'envoi d'un formulaire, pour vider les champs de la page.
Partial ContentLe serveur ne renvoie qu'une partie de la ressource, comme demandé.Servir une plage d'octets issue d'une requête Range.
3xx Redirection
Moved PermanentlyLa ressource a une nouvelle URL permanente et les requêtes futures devraient l'utiliser.Une page a déménagé et les moteurs de recherche doivent mettre à jour leur index.
FoundLa ressource est temporairement à une autre URL, mais continuez d'utiliser l'originale.Rediriger un moment vers une page de connexion.
See OtherLa réponse se trouve à une autre URL et doit être récupérée avec un GET.Le motif PRG : rediriger un POST vers une page de résultat pour qu'un rafraîchissement ne renvoie pas le formulaire.
Not ModifiedLa copie en cache est encore valide, donc le serveur n'envoie pas de corps.GET conditionnel où le cache du client est à jour.
Use ProxyLa requête doit passer par le proxy indiqué dans la réponse.Réseaux proxy hérités ; déprécié depuis 2011.
Temporary RedirectLa ressource est temporairement ailleurs et la méthode de la requête d'origine doit être conservée.Comme 302, mais un POST reste un POST après la redirection.
Permanent RedirectLa ressource a une nouvelle URL permanente et la méthode de la requête d'origine doit être conservée.Comme 301, mais un POST reste un POST après la redirection.
4xx Erreur client
Bad RequestLe serveur n'a pas compris la requête à cause d'une syntaxe mal formée.JSON mal formé, ou un champ obligatoire manquant.
UnauthorizedL'authentification est requise et elle manquait ou a échoué.Pas de jeton, ou un jeton invalide ou expiré.
Payment RequiredLa requête exige un paiement, mais la spécification n'a jamais défini comment.Certaines API l'utilisent comme marqueur de paywall ; la plupart ne l'utilisent jamais.
ForbiddenLe client est authentifié mais n'a pas le droit d'accéder à cette ressource.Connexion valide, mais aucune permission pour cette ressource.
Not FoundLe serveur n'a aucune ressource à cette URL.URL inconnue ou identifiant inexistant.
Method Not AllowedL'URL existe mais n'accepte pas la méthode de requête utilisée.Un POST sur un endpoint qui n'accepte que GET.
Not AcceptableLe serveur ne peut pas renvoyer un contenu conforme aux en-têtes Accept du client.Le client n'a demandé que du XML, mais l'API ne renvoie que du JSON.
Proxy Authentication RequiredLe client doit s'authentifier auprès du proxy avant que la requête continue.Un proxy d'entreprise qui rejette une requête non authentifiée.
Request TimeoutLe client a mis trop de temps à envoyer la requête et le serveur a abandonné.Un envoi bloqué avant que le corps n'arrive complètement.
ConflictLa requête entre en conflit avec l'état actuel de la ressource.Un e-mail en doublon ou une édition concurrente sur le même enregistrement.
GoneLa ressource a existé mais a été supprimée définitivement.Un endpoint retiré volontairement, plus fort que 404.
Length RequiredLa requête a besoin d'un en-tête Content-Length et n'en a pas.Un serveur qui doit connaître la taille à l'avance refuse un corps en flux.
Precondition FailedUne précondition d'en-tête telle que If-Match a été évaluée à faux.Une édition optimiste où l'enregistrement a changé depuis sa lecture par le client.
Content Too LargeLe corps de la requête dépasse la limite acceptée par le serveur.Un envoi plus gros que la taille maximale de corps du serveur.
URI Too LongL'URL de la requête est plus longue que ce que le serveur accepte d'interpréter.Un formulaire sérialisé par erreur dans une chaîne de requête GET qui grossit sans limite.
Unsupported Media TypeLe format du corps de la requête ne fait pas partie de ceux acceptés par l'endpoint.Un POST avec Content-Type text/plain sur un endpoint JSON uniquement.
Range Not SatisfiableLa plage d'octets de l'en-tête Range ne correspond pas à la ressource.Demander des octets au-delà de la fin d'un fichier lors de la reprise d'un téléchargement.
Expectation FailedLe serveur ne peut pas satisfaire l'attente exprimée dans l'en-tête Expect.Une attente 100-continue que le serveur refuse d'honorer.
I'm a teapotLe serveur est une théière et refuse de préparer du café.Une blague de poisson d'avril de 1998 qui ne meurt pas ; des API le renvoient pour s'amuser.
Misdirected RequestLa requête a été envoyée à un serveur qui ne peut pas produire de réponse pour elle.Une connexion réutilisée envoyée vers un hôte que ce serveur ne dessert pas.
Unprocessable EntityLa requête est bien formée mais ses valeurs échouent à la validation sémantique.Un JSON valide dont les champs violent les règles métier.
Too EarlyLe serveur refuse une requête susceptible d'être un rejeu.Rejeter une requête non idempotente rejouée avant la rotation des clés.
Upgrade RequiredLe client doit passer à un autre protocole pour utiliser cette ressource.Un endpoint qui exige TLS ou WebSocket.
Precondition RequiredLe serveur exige des en-têtes conditionnels que la requête n'a pas envoyés.Une API qui exige If-Match pour éviter les mises à jour perdues.
Too Many RequestsLe client a envoyé trop de requêtes dans une fenêtre de temps donnée.Une limite de débit atteinte ; ralentissez puis réessayez.
Request Header Fields Too LargeUn ou plusieurs champs d'en-tête sont trop grands pour que le serveur les traite.Un cookie ou un jeton qui a grossi jusqu'à bloquer chaque requête vers le site.
Unavailable For Legal ReasonsLa ressource est bloquée pour des raisons légales, telle une suppression ou une restriction géographique.Un retrait demandé par un gouvernement ou une page bloquée dans un pays.
5xx Erreur serveur
Internal Server ErrorLe serveur a rencontré une condition inattendue et a échoué.Une exception non gérée ou un bug côté serveur.
Not ImplementedLe serveur ne prend pas en charge la méthode ou la fonctionnalité demandée.Un endpoint déclaré mais pas encore construit.
Bad GatewayUne passerelle ou un proxy a reçu une réponse invalide d'un serveur en amont.Un proxy inverse qui n'a pas pu joindre le backend.
Service UnavailableLe serveur est temporairement incapable de traiter la requête.Maintenance, surcharge, ou un service dépendant en panne.
Gateway TimeoutUne passerelle ou un proxy n'a pas reçu de réponse à temps d'un serveur en amont.Le backend a mis trop de temps et le proxy a abandonné.
HTTP Version Not SupportedLe serveur ne prend pas en charge la version HTTP de la requête.Un client parlant une version de protocole que le serveur n'a jamais apprise.
Variant Also NegotiatesLa négociation de contenu transparente s'est terminée en référence circulaire.Un serveur mal configuré qui fait de la négociation de contenu expérimentale.
Insufficient StorageLe serveur ne peut pas stocker la représentation nécessaire pour terminer la requête.Un serveur WebDAV dont l'espace de stockage alloué est plein.
Loop DetectedLe serveur a rencontré une boucle infinie en traitant la requête.Une liaison WebDAV qui se réfère à elle-même.
Network Authentication RequiredLe client doit s'authentifier auprès du réseau pour obtenir l'accès.Un portail captif d'hôtel ou d'aéroport qui intercepte la requête.