Développement web

HTTP Erreur 400 Bad Request : causes et solutions

By David, on 7 May, 2022, updated on 6 March, 2023 - 9 min read

Un code d’état indique le statut de la communication entre le serveur web et notre site-web. Quand il y a un problème, le serveur retourne un code d’erreur qui s’affiche sur notre navigateur web. L’erreur 400 bad request par exemple annonce qu’il y a un problème avec la demande de notre site.

Cela peut provenir de plusieurs causes dont :

  • une URL erronée ;
  • des fichiers cache ou cookies de navigateur corrompus ;
  • le téléchargement de fichiers trop volumineux ;
  • etc.

Dans ce guide, nous allons vous expliquer chaque cause de l’erreur 400 bad request et dire comment résoudre le problème. Vous êtes prêts ? Allons-y !

Que signifie erreur 400 bad request ?

Erreur HTTP 400, erreur 400, erreur 400 bad request représentent tous des dénominations qui désignent le même problème. Le serveur web retourne ce code d’erreur quand il considère que l’erreur ne correspond à aucun des autres types de code d’état.

Le problème a en effet un rapport avec la requête client (notre site web). L’erreur a eu lieu bien avant que le serveur web ne commence à traiter la demande du client. Dans la plupart des cas, le message d’erreur n’apporte aucune précision sur l’endroit où se trouve le problème de communication.

Il nous faut donc déterminer par nous-mêmes la source du problème lié à la requête de notre site. Toutefois, si le serveur web dispose de systèmes spécifiques comme IIS 7.0, IIS 7.5, IIS 8.0, nous aurons accès à plus de détails.

Notre navigateur affichera alors :

  • 400,1 : Destination Header non valide ;
  • 400,2 : Depth Header non valide ;
  • 400.3: If Header non valide;
  • 400.4: Overwrite Header non valide;
  • 400,5 : Translate Header non valide ;
  • 400.6: Request Body non valide;
  • 400,7 : Content-Länge non valide ;
  • 400,8 : Timeout non valide ;
  • 400,9: Lock Token non valide.

Précisons que ce code d’erreur n’est pas spécifique au navigateur web. D’autres clients comme ceux de la messagerie reçoivent aussi ce message quand ils communiquent avec un serveur web.

Pour l’erreur 403 Forbidden, voir notre article dédié.

Erreur 400 : quelles causes ?

Le code d’erreur 400 apparait pour différentes raisons. Nous listons ici les principales causes de l’erreur 400.

Erreur dans la syntaxe de l’URL

Une URL mal tapée ou une mauvaise syntaxe peut causer une erreur 400 bad request. Une adresse URL avec des caractères illégaux comme ‘’{‘’peut aussi en produire.

Cookies et cache de navigateur corrompus

Un code d’erreur 400 peut apparaître même quand l’adresse URL ne présente aucune irrégularité. Les fichiers cache ou des cookies du navigateur peuvent être corrompus.

Si nous essayons par exemple d’accéder à l’administration de notre WordPress un peu après notre dernière connexion, une erreur 400 peut arriver. Cela se justifie par le fait que le cookie qui gère nos données d’authentification est corrompu.

Notre authentification en tant qu’utilisateur valide, administrateur qui plus est, devient impossible. La connexion nous est refusée et le serveur web retourne une erreur 400 bad request.

Téléchargement de fichiers volumineux

Quand nous essayons de télécharger un fichier volumineux sur un site web, une erreur 400 bad request peut se produire. Cette situation est cette fois en rapport avec la limite de taille de fichier du serveur web. Cette taille varie suivant la configuration qui a été faite par l’administrateur.

Problème de cache de recherche DNS

Les noms de domaine représentent des pseudos pour les adresses IP. Une adresse IP peut être considérée comme un numéro de téléphone qui sert à toujours appeler le même serveur web.

Quand nous nous connectons pour la première fois à un site web, un processus a lieu. Il est nommé ‘’résolution de nom’’. Pendant ce processus, il s’établit une certaine correspondance entre l’adresse IP du serveur web et le nom de domaine.

Une répétition de ce processus chaque fois que nous nous connectons au même site web ne serait pas pratique. Pour éviter cela, les données sont stockées dans le cache DNS local sur notre ordinateur.

Il arrive que les données DNS stockées de façon locale ne soient pas en synchronisation avec les informations enregistrées en ligne. En ce moment, une erreur 400 bad request se produit.

Erreur de serveur générique

Quand ce type d’erreur se produit, autant vous dire que cela est hors de notre contrôle. Les seules personnes habilitées à résoudre ce problème, ce sont ceux à qui appartient le site web.

Il s’agit d’un problème qui a en réalité rapport au serveur. Le code d’état 400 indique dans ce cas un problème général avec le serveur ou des pannes temporaires non précisées.

La seule chose qu’il faut faire en tant que visiteur du site web, c’est de rafraîchir de temps en temps la page. Celle-ci s’affiche si les propriétaires résolvent le problème.

La taille de l’en-tête HTTP

Une erreur 400 bad request peut provenir de la taille de l’en-tête HTTP. Une taille trop longue peut en effet créer ce type d’erreur.

Soulignons qu’en temps normal, il n’existe aucune limite à la taille des en-têtes. Cependant, le serveur web a la possibilité de définir une taille limite.

Rappelons qu’un en-tête comprend différents champs au sein desquels les requêtes et les réponses se définissent. Pour que des données s’échangent, le serveur et le navigateur doivent convenir des paramètres de la communication.

Quand ce n’est pas le cas, le client et le serveur ne peuvent pas échanger. Une erreur 400 bad request s’affiche alors.

Quelles solutions pour corriger l’erreur 400 bad request ?

Plusieurs solutions permettent de venir à bout de l’erreur 400 bad request. Dans la plupart de ces solutions, vous remarquerez avec nous, l’étape du vidage des données enregistrées dans le cache de l’ordinateur.

Nous pourrions penser que la solution ultime aux erreurs de connexion serait que l’ordinateur arrête la mise en cache des données. Ce qui est vrai. Cependant, sans la mise en cache, l’expérience utilisateur deviendrait inconfortable.

L’activité sur le web se résume à un compromis constant entre expériences utilisateur et optimisation. Pour améliorer l’expérience utilisateur, les pages se chargent le plus vite possible impliquant ainsi les techniques de mise en cache. Ce faisant, les sites peuvent subir des erreurs comme le 400 bad request sans avertissement.

Vérifier l’adresse URL

Dans une situation où notre navigateur affiche le code d’erreur 400, la première réaction est de vérifier notre adresse URL. C’est le motif d’erreur le plus courant.

erreur 400 url

Reconnaissons qu’il s’avère facile d’insérer des erreurs telles qu’un caractère indésirable dans une URL saisie à la main. Commençons donc à vérifier l’orthographe du nom de domaine saisi et de la page cible. Vérifions aussi la présence des barres obliques entre page cible et nom de domaine.

Les caractères spéciaux contenus dans l’URL doivent être légaux et bien encodés. Assurez-vous de cela.

Dans le cas d’une URL longue, vous pouvez utiliser un décodeur/encodeur d’URL en ligne.

Vous pourrez ainsi vérifier avec beaucoup plus de facilité l’URL. De plus, vous éviterez de faire à nouveau des erreurs.

Une fois que vous êtes rassuré que la syntaxe de l’URL soit bonne, rendez-vous sur le navigateur utilisé à la première connexion. Essayez à nouveau d’accéder à la page correspondante à l’URL depuis votre navigateur.

Si la page web s’affiche alors le problème est résolu. Mais si le code d’erreur 400 bad request s’affiche toujours, passons à la prochaine solution.

Effacer les données mises en cache par le navigateur

Le cache d’un navigateur stocke tous fichiers permettant le bon fonctionnement d’un site web. Ces fichiers comprennent :

  • du HTML ;
  • du CSS ;
  • du JavaScript ;
  • des fichiers texte ;
  • des fichiers multimédias ;
  • du XML et autres fichiers de données.

Pour résoudre les erreurs de connexion, l’erreur 400 en particulier, le cache du navigateur doit être vidé de tous ses fichiers. La procédure de nettoyage du cache varie en fonction du navigateur utilisé.

Avec chrome par exemple, il nous faut cliquer sur l’icône de personnalisation et de contrôle de Google chrome. Il s’agit des trois points qui se trouvent dans le coin supérieur droit du navigateur.

Il faut ensuite cliquer sur ”Paramètres”. Sur la page des paramètres, cliquez sur ‘’CONFIDENTIALITÉ ET SÉCURITÉ’’.

Ensuite, cliquez sur ‘’EFFACER LES DONNÉES DE NAVIGATION’’.

Dans la fenêtre qui s’affiche, assurez-vous que l’option ‘’IMAGES ET FICHIERS EN CACHE’’ est bien cochée. Appuyez sur ‘’EFFACER LES DONNÉES’’ pour vider le cache du navigateur.

Vous disposez du choix de supprimer tous les fichiers ou ceux d’une période précise. Nous vous recommandons de tout supprimer. Ainsi, vous êtes sûr qu’il n’existe plus de fichiers corrompus dans le cache du navigateur.

Pour ce faire, il faut sélectionner ‘’TOUTES LES DONNÉES’’ au niveau de l’option de la période.

parametres confidentialite chrome

Effacer les cookies

Si vider le cache du navigateur ne fonctionne pas, passons à la suppression des cookies. En général, les sites web utilisent plusieurs cookies. Un seul cookie corrompu ou expiré peut déclencher des erreurs de connexion.

Pour résoudre le problème, nous allons suivre le même processus que lors de la suppression des fichiers en cache. À l’affichage de la fenêtre pour effacer les données, nous devons nous assurer que l’option cookies et autres données des sites reste cochée.

Il faut cliquer sur ‘’EFFACER LES DONNÉES’’ pour supprimer tous les cookies. Ici aussi, sélectionnez ‘’TOUTES LES DONNÉES’’ en ce qui concerne la période.

Adressez à nouveau votre requête au serveur pour vérifier si le navigateur affiche toujours le code d’erreur 400 bad request.

Réduire la taille du fichier

Quand nous rencontrons des erreurs de connexion en essayant d’envoyer sur un site web, un fichier volumineux, plusieurs solutions existent. En tant qu’administrateurs du site, nous pouvons agrandir la limite de la taille de fichier de notre serveur.

Cela peut se faire depuis le Cpanel de notre hébergement web. En revanche, en tant que simples utilisateurs, nous sommes obligés de nous conformer à la limite de taille de fichier imposée par le serveur.

Nous avons à disposition un grand nombre d’outils en ligne qui aident à réduire la taille d’un fichier sans endommager sa qualité. Pour nous rassurer que c’est bien la taille du fichier qui cause les erreurs, il faut réaliser un test.

Pour ce faire, nous allons télécharger un autre fichier avec une taille plus petite que la précédente. S’il se télécharge, c’est que le premier fichier est trop lourd. Il faut alors la réduire.

Effacer les données enregistrées dans le cache DNS

Pour résoudre le problème des erreurs de connexion, nous devons vider le cache DNS. Précisons que le stockage des données DNS locales n’est pas réalisé par le navigateur.

Il est plutôt effectué par le système d’exploitation de l’ordinateur client. La procédure de suppression varie donc selon l’OS installé.

Sur Windows, cela se déroule en plusieurs étapes. La première consiste à vider le cache du navigateur. C’est une condition pour réussir à vider le cache DNS.

Pour la seconde étape, nous devons ouvrir l’invite de commande. Pour ce faire, tapons le raccourci clavier ‘’Windows + R’’ pour accéder à la fenêtre de recherche. Saisissons à présent le terme cmd et validons. L’invite de commande s’ouvre tout de suite. Cette dernière est une fenêtre avec un fond noir.

image

L’étape suivante consiste à taper une commande dans l’invite de commande. Saisissons donc

ipconfig/flushdns

Le cache DNS sera en même temps effacé.

Pour finir, éteignons l’ordinateur. Laissons-le ainsi pendant une durée de deux minutes environ. Puis, rallumons-le.

Réduire la taille de l’en-tête HTTP

Ici, notre requête n’aboutit pas à cause de la taille d’en-tête du navigateur qui dépasse la limite du serveur. Avant de résoudre le problème, effectuons un test pour vérifier si c’est bien notre navigateur par défaut qui pose problème.

À cet effet, choisissons un autre navigateur et essayons de nous connecter à la page web. Si la requête aboutit, nous déduirons que la source du problème, c’est le navigateur par défaut.

Nous allons maintenant supprimer tous les cookies si cela n’avait pas été fait auparavant. En faisant cela, nous allégeons la taille de l’en-tête de la requête client.

En effet, les cookies se transfèrent en en-tête afin d’aider le serveur à connaître des informations sur nos visites antérieures. Trop d’entrées dans la requête du navigateur web pourraient agrandir la longueur de l’en-tête. La limite fixée par le serveur peut donc être dépassée.

Si après cette démarche, notre requête de connexion se solde encore par un code d’erreur 400, nous réinstallerons le navigateur. À défaut, nous reviendrons aux réglages d’usine.

Le processus de réinitialisation varie d’un navigateur à l’autre. Sur Google chrome par exemple, l’option de réinitialisation se retrouve dans les paramètres avancés.

Après la réinitialisation, nos mots de passe, notre historique, etc. restent conservés. Le navigateur internet revient tout de même à l’état d’usine. Pour voir les modifications, il faut fermer le navigateur et le redémarrer.

Pour régler ce problème en tant que webmaster, il suffit d’augmenter la limite de l’en-tête du serveur. Tout comme pour la taille de fichier, vous devez vous rendre dans notre hébergement pour vous acquitter de cette tâche.

Notifions cependant qu’une trop grande limite d’en-tête peut accroître le risque de requêtes détériorées.

Désactiver les extensions

Les extensions installées sur un navigateur web peuvent causer des erreurs de connexion. En général, nous n’y pensons pas. Mais si aucune des autres solutions ne fonctionne, nous pouvons désactiver ces extensions. Il s’agit d’une désactivation temporaire. Ainsi, nous pourrons voir si cela change quelque chose ou pas. Désactivez donc les extensions de navigateur internet et adressez encore notre requête au serveur web.

Les autres erreur 400 en détails

Erreur 401 Unauthorized: comment la corriger ?

Erreur 404 page introuvable : comment les identifier et les corriger ?

Erreur 403 Forbidden

Comprendre l’erreur 410 Gone

David