1xx Information ⤢ 100Continue Le 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. ⤢ 101Switching Protocols Le serveur accepte de basculer vers le protocole demandé par le client. Passage d'une connexion HTTP en WebSocket. ⤢ 102Processing Le 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. ⤢ 103Early Hints Le 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 ⤢ 200OK La 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. ⤢ 201Created La requête a réussi et une nouvelle ressource a été créée. À renvoyer après un POST qui crée quelque chose. ⤢ 202Accepted La 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. ⤢ 203Non-Authoritative Information La 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. ⤢ 204No Content La requête a réussi et il n'y a aucun corps à renvoyer. Un DELETE réussi, ou un PUT sans rien à dire. ⤢ 205Reset Content La 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. ⤢ 206Partial Content Le serveur ne renvoie qu'une partie de la ressource, comme demandé. Servir une plage d'octets issue d'une requête Range. 3xx Redirection ⤢ 301Moved Permanently La 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. ⤢ 302Found La ressource est temporairement à une autre URL, mais continuez d'utiliser l'originale. Rediriger un moment vers une page de connexion. ⤢ 303See Other La 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. ⤢ 304Not Modified La copie en cache est encore valide, donc le serveur n'envoie pas de corps. GET conditionnel où le cache du client est à jour. ⤢ 305Use Proxy La requête doit passer par le proxy indiqué dans la réponse. Réseaux proxy hérités ; déprécié depuis 2011. ⤢ 307Temporary Redirect La 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. ⤢ 308Permanent Redirect La 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 ⤢ 400Bad Request Le serveur n'a pas compris la requête à cause d'une syntaxe mal formée. JSON mal formé, ou un champ obligatoire manquant. ⤢ 401Unauthorized L'authentification est requise et elle manquait ou a échoué. Pas de jeton, ou un jeton invalide ou expiré. ⤢ 402Payment Required La 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. ⤢ 403Forbidden Le client est authentifié mais n'a pas le droit d'accéder à cette ressource. Connexion valide, mais aucune permission pour cette ressource. ⤢ 404Not Found Le serveur n'a aucune ressource à cette URL. URL inconnue ou identifiant inexistant. ⤢ 405Method Not Allowed L'URL existe mais n'accepte pas la méthode de requête utilisée. Un POST sur un endpoint qui n'accepte que GET. ⤢ 406Not Acceptable Le 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. ⤢ 407Proxy Authentication Required Le 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. ⤢ 408Request Timeout Le 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. ⤢ 409Conflict La 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. ⤢ 410Gone La ressource a existé mais a été supprimée définitivement. Un endpoint retiré volontairement, plus fort que 404. ⤢ 411Length Required La 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. ⤢ 412Precondition Failed Une 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. ⤢ 413Content Too Large Le 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. ⤢ 414URI Too Long L'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. ⤢ 415Unsupported Media Type Le 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. ⤢ 416Range Not Satisfiable La 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. ⤢ 417Expectation Failed Le 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. ⤢ 418I'm a teapot Le 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. ⤢ 421Misdirected Request La 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. ⤢ 422Unprocessable Entity La 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. ⤢ 425Too Early Le serveur refuse une requête susceptible d'être un rejeu. Rejeter une requête non idempotente rejouée avant la rotation des clés. ⤢ 426Upgrade Required Le client doit passer à un autre protocole pour utiliser cette ressource. Un endpoint qui exige TLS ou WebSocket. ⤢ 428Precondition Required Le 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. ⤢ 429Too Many Requests Le 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. ⤢ 431Request Header Fields Too Large Un 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. ⤢ 451Unavailable For Legal Reasons La 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 ⤢ 500Internal Server Error Le serveur a rencontré une condition inattendue et a échoué. Une exception non gérée ou un bug côté serveur. ⤢ 501Not Implemented Le serveur ne prend pas en charge la méthode ou la fonctionnalité demandée. Un endpoint déclaré mais pas encore construit. ⤢ 502Bad Gateway Une 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. ⤢ 503Service Unavailable Le serveur est temporairement incapable de traiter la requête. Maintenance, surcharge, ou un service dépendant en panne. ⤢ 504Gateway Timeout Une 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é. ⤢ 505HTTP Version Not Supported Le 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. ⤢ 506Variant Also Negotiates La 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. ⤢ 507Insufficient Storage Le 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. ⤢ 508Loop Detected Le serveur a rencontré une boucle infinie en traitant la requête. Une liaison WebDAV qui se réfère à elle-même. ⤢ 511Network Authentication Required Le 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.