La requête contient une erreur ou ne peut pas être traitée : le client doit modifier quelque chose avant de réessayer.
Le serveur ne peut pas traiter la requête car elle est mal formée (syntaxe incorrecte, JSON invalide, cookie trop volumineux…).
Quand l'utiliser : Échecs de validation que vous ne pouvez pas exprimer plus précisément ; incluez un message d'erreur dans le corps.
Impact SEO : Les pages renvoyant 4xx sont retirées de l'index.
Une authentification est requise, mais elle était absente ou invalide. Malgré son nom, il signifie « non authentifié ».
Quand l'utiliser : Jeton ou identifiants manquants ou expirés. Doit inclure un en-tête WWW-Authenticate.
Impact SEO : Les robots ne peuvent pas se connecter, donc les pages derrière un 401 ne sont pas indexées, ce qui est souhaitable pour les espaces privés.
Réservé pour un usage futur ; certaines API l'utilisent lorsqu'un paiement ou une montée en gamme de quota est nécessaire.
Quand l'utiliser : Erreurs de facturation non standard (par exemple un abonnement expiré).
Le serveur a compris la requête mais refuse de l'autoriser. Se reconnecter ne servira à rien.
Quand l'utiliser : L'utilisateur est connecté mais n'a pas les droits, ou l'accès est bloqué par IP, par un WAF ou par des permissions de fichiers.
Impact SEO : Non indexé. Vérifiez que votre pare-feu ou votre protection contre les bots ne renvoie pas 403 à Googlebot par erreur.
Le serveur ne trouve pas la ressource demandée.
Quand l'utiliser : L'URL n'a jamais existé ou a été supprimée sans remplacement. Affichez une page 404 personnalisée et utile.
Impact SEO : Normal et sans danger pour les pages qui n'existent vraiment plus ; Google les retire progressivement. Redirigez (301) les URL qui ont des backlinks ou un remplacement évident.
405Méthode non autorisée
#
La méthode HTTP n'est pas prise en charge pour cette URL (par exemple un POST vers une page en lecture seule).
Quand l'utiliser : À renvoyer avec un en-tête Allow listant les méthodes prises en charge.
Le serveur ne peut pas produire de réponse correspondant aux en-têtes Accept de la requête.
Quand l'utiliser : Négociation de contenu stricte ; de nombreuses API renvoient simplement leur format par défaut.
407Authentification du proxy requise
#
Comme 401, mais le client doit s'authentifier auprès d'un proxy.
Quand l'utiliser : Envoyé par les proxys d'entreprise ou les proxys directs avec un en-tête Proxy-Authenticate.
408Délai de requête dépassé
#
Le serveur a dépassé le délai d'attente pendant que le client terminait l'envoi de la requête.
Quand l'utiliser : Connexions inactives ou très lentes ; les clients peuvent réessayer.
La requête est en conflit avec l'état actuel de la ressource.
Quand l'utiliser : Conflits de modification, clés uniques en double ou écarts de version dans un verrouillage optimiste.
La ressource a été supprimée définitivement et ne reviendra pas.
Quand l'utiliser : Contenus supprimés volontairement, annonces ou campagnes expirées.
Impact SEO : Google traite 410 comme 404, mais peut retirer l'URL un peu plus vite.
Le serveur exige un en-tête Content-Length.
Quand l'utiliser : Envois sans longueur lorsque l'encodage par morceaux (chunked) n'est pas accepté.
412Échec de la condition préalable
#
Une condition figurant dans les en-têtes de la requête (If-Match, If-Unmodified-Since) a été évaluée comme fausse.
Quand l'utiliser : Concurrence optimiste : refuser une mise à jour parce que la ressource a changé depuis la lecture du client.
413Contenu trop volumineux
#
Le corps de la requête est plus grand que ce que le serveur autorise (anciennement « Payload Too Large »).
Quand l'utiliser : Envois de fichiers dépassant votre limite, par exemple client_max_body_size sous nginx.
L'URL est plus longue que ce que le serveur peut interpréter.
Quand l'utiliser : En général un bug : chaînes de requête énormes ou boucles de redirection qui ajoutent sans cesse des paramètres.
415Type de média non pris en charge
#
Le format du corps (Content-Type) n'est pas pris en charge.
Quand l'utiliser : Une API attendant application/json reçoit des données de formulaire ou du XML.
416Plage non satisfaisable
#
L'en-tête Range demande des octets qui se trouvent en dehors du fichier.
Quand l'utiliser : Reprise d'un téléchargement au-delà de la fin d'un fichier qui a rétréci.
Le serveur ne peut pas satisfaire l'exigence de l'en-tête Expect.
Quand l'utiliser : Refus des envois avec Expect: 100-continue.
Une blague du 1er avril tirée de la RFC 2324 (Hyper Text Coffee Pot Control Protocol) : le serveur refuse de préparer du café parce qu'il est une théière.
Quand l'utiliser : Uniquement pour les easter eggs. Certains services le renvoient pour rejeter des requêtes automatisées ou indésirables, mais il n'a aucune signification standard.
La requête a atteint un serveur qui ne peut pas produire de réponse pour cet hôte.
Quand l'utiliser : Réutilisation de connexions HTTP/2 entre noms d'hôte dont le certificat ou la configuration ne correspondent pas.
422Contenu non traitable
#
La syntaxe est valide, mais le contenu échoue à la validation sémantique.
Quand l'utiliser : Erreurs de validation de formulaire ou d'API (champ obligatoire manquant, e-mail invalide). Courant dans les API Rails et Laravel.
WebDAV : la ressource est verrouillée.
Quand l'utiliser : Un fichier est réservé ou verrouillé par un autre utilisateur.
WebDAV : la requête a échoué parce qu'une requête précédente dont elle dépendait a échoué.
Quand l'utiliser : Opérations par lots où un échec annule toutes les autres.
Le serveur ne traite pas une requête qui pourrait être rejouée (données précoces TLS 1.3 / 0-RTT).
Quand l'utiliser : Protéger les requêtes non idempotentes envoyées dans les données précoces TLS contre les attaques par rejeu.
426Mise à niveau requise
#
Le client doit passer à un autre protocole, indiqué dans l'en-tête Upgrade.
Quand l'utiliser : Obliger les clients à passer à une version plus récente du protocole.
428Condition préalable requise
#
Le serveur exige que la requête soit conditionnelle (par exemple avec If-Match).
Quand l'utiliser : Éviter les « mises à jour perdues » en refusant les requêtes PUT/PATCH inconditionnelles.
Le client a envoyé trop de requêtes sur une période donnée (limitation de débit).
Quand l'utiliser : Limites de débit d'API et protection contre les attaques par force brute. Incluez un en-tête Retry-After.
Impact SEO : Googlebot ralentit son exploration lorsqu'il voit 429 (et 503). Des 429 persistants peuvent entraîner la sortie d'URL de l'index.
431Champs d'en-tête de requête trop volumineux
#
Un en-tête (souvent Cookie) ou l'ensemble des en-têtes est trop volumineux.
Quand l'utiliser : Généralement causé par l'accumulation de cookies ; vider les cookies du site règle le problème pour les utilisateurs.
451Indisponible pour raisons légales
#
La ressource est bloquée pour des raisons légales : censure, décisions de justice ou réglementation régionale. Le numéro fait référence à Fahrenheit 451 de Ray Bradbury.
Quand l'utiliser : Contenu retiré à la suite d'une demande de retrait ou restreint géographiquement par la loi.
Impact SEO : Traité comme les autres codes 4xx : non indexé.