TrueURL

400 Bad Request

Le serveur refuse de traiter la requête à cause d’une erreur du client : syntaxe incorrecte, URL invalide ou cookies trop volumineux, par exemple.

Message de statut
Bad Request
Redirection
Non
Mise en cache possible par défaut
Non

400 Bad Request est l’erreur client générique. Le serveur refuse de traiter la requête parce qu’il estime qu’un élément est incorrect : syntaxe mal formée, découpage du message invalide, routage trompeur de la requête, en-tête Host erroné, paramètre de requête invalide ou corps impossible à analyser. Le client ne doit pas répéter la requête telle quelle.

De nombreux serveurs utilisent 400 pour des problèmes qui ont leur propre code, plus précis. Par exemple, nginx répond « 400 Bad Request: Request Header Or Cookie Too Large » lorsque les en-têtes dépassent ses tampons, alors que 431 serait plus exact, et de nombreuses API renvoient 400 pour des erreurs de validation qui pourraient relever de 422.

Le corps de la réponse est généralement le meilleur endroit pour trouver la raison réelle.

Exemple de réponse

HTTP
HTTP/1.1 400 Bad Request
Date: Fri, 06 Nov 2026 10:15:32 GMT
Server: nginx
Content-Type: text/html
Content-Length: 217
Connection: close

<html>
<head><title>400 Request Header Or Cookie Too Large</title></head>
<body>
<center><h1>400 Bad Request</h1></center>
<center>Request Header Or Cookie Too Large</center>
<hr><center>nginx</center>
</body>
</html>

SEO et vérification des redirections

Les moteurs de recherche traitent une erreur 400 comme les autres erreurs 4xx : l’URL n’est pas indexée, et une URL indexée qui se met à renvoyer 400 est retirée de l’index. Les robots d’exploration envoient des requêtes légères et standard, sans cookies : une erreur 400 que seuls les robots reçoivent provient donc généralement de caractères inhabituels dans une URL ou d’une règle de pare-feu. Lors d’une vérification des redirections, un 400 au milieu d’une chaîne signifie souvent qu’une redirection a produit une URL mal formée, par exemple avec des caractères doublement encodés ou une chaîne de requête cassée.

Causes fréquentes et cas d’usage

  • Trop de cookies, ou des cookies trop volumineux. Supprimez les cookies du site ou augmentez large_client_header_buffers dans nginx.
  • Une URL mal formée : espaces non encodés, encodage-pourcent défectueux ou en-tête Host invalide.
  • Une requête d’API avec du JSON invalide ou des paramètres obligatoires manquants.
  • Une requête HTTP en clair envoyée sur un port HTTPS, ce que nginx signale par « The plain HTTP request was sent to HTTPS port ».

Vérificateur de redirections d’URL

Affichez chaque code de statut que renvoie une URL, saut par saut, avec le vérificateur de redirections gratuit de TrueURL.