HTTP 400 Bad Request
L'erreur client générique : quelque chose ne va pas dans la requête elle-même, et le serveur refuse de deviner.
Ce que signifie HTTP 400
HTTP 400 Bad Request signifie que le serveur a lu la requête et l'a rejetée comme invalide avant tout traitement réel. C'est l'erreur client fourre-tout : syntaxe malformée, paramètres invalides, cookies corrompus ou en-têtes que le serveur refuse de traiter.
Contrairement à 401 ou 403, un 400 ne dit rien sur les permissions — la requête était cassée dès son arrivée. Les API attachent souvent un corps JSON expliquant exactement quel champ a échoué à la validation.
Causes courantes des erreurs 400
- JSON ou XML malformé dans le corps de la requête (virgules superflues, mauvais guillemets, payload tronqué).
- Paramètres de requête manquants ou invalides, ou valeurs échouant à la validation côté serveur.
- Cookies corrompus ou surdimensionnés — la cause classique des 400 persistants sur les grands sites pour un utilisateur donné.
- Mauvais en-tête Content-Type, si bien que le serveur analyse le corps dans le mauvais format.
- Erreurs d'encodage d'URL : espaces, guillemets ou caractères non-ASCII non échappés dans la chaîne de requête.
Comment la corriger en tant qu'utilisateur
- Rechargez la page ; si le 400 persiste, effacez les cookies de ce site — des cookies corrompus sont la cause la plus courante.
- Vérifiez l'URL pour des fautes de frappe ou des caractères altérés lors d'un copier-coller.
- Essayez une fenêtre de navigation privée pour écarter des extensions qui réécrivent les requêtes.
Comment la corriger en tant que développeur
- Validez les payloads JSON avant l'envoi ; enregistrez le corps exact de la requête reçue par le serveur.
- Renvoyez un corps de réponse nommant le champ invalide — un 400 nu fait perdre du temps de débogage à tout le monde.
- Vérifiez les limites du serveur sur la taille des en-têtes et des cookies (nginx large_client_header_buffers, etc.).
- Utilisez 422 pour une entrée bien formée mais sémantiquement invalide si votre API distingue les deux cas.
Exemple de réponse
HTTP/1.1 400 Bad Request
Content-Type: application/json
{"error":"validation_failed","field":"email","message":"not a valid address"}FAQ
Une erreur 400 est-elle de ma faute en tant que visiteur ?
C'est généralement causé par des cookies périmés ou un lien cassé plutôt que par quoi que ce soit que vous ayez fait. Effacer les cookies du site résout la plupart des cas.
Quelle est la différence entre 400 et 422 ?
400 signifie que la requête n'a pas pu être analysée ou est structurellement invalide ; 422 signifie qu'elle a été analysée correctement mais a échoué à la validation sémantique. Beaucoup d'API utilisent 400 pour les deux.
Pourquoi un utilisateur reçoit-il 400 alors que tout va bien pour les autres ?
Presque toujours des cookies surdimensionnés ou corrompus dans le navigateur de cet utilisateur, dépassant les limites d'en-tête du serveur.