Si vous naviguez sur le Web tous les jours, tout ne fonc­tionne pas toujours comme prévu. De temps en temps, votre na­vi­ga­teur affiche un code d’état au lieu du contenu souhaité. Lors de la com­mu­ni­ca­tion entre le serveur Web et le client, c’est-à-dire votre na­vi­ga­teur, des messages d’état sont transmis, mais uni­que­ment en cas de problèmes. La fenêtre de votre na­vi­ga­teur Internet affiche alors un message d’erreur plus ou moins cryptique. L’affichage du code http 400 indique que quelque chose s’est mal passé avec la demande de votre client. Nous vous ex­pli­quons en détail ce que signifie ce message d’erreur et nous vous donnons des conseils sur la façon dont résoudre le problème.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Que signifie le message Bad Request 400 Error?

Avec le code de statut, le serveur Web renvoie l’état des requêtes au client. Si le serveur renvoie le message 200 (ce que vous ne voyez nor­ma­le­ment pas lors de la na­vi­ga­tion), tout va bien. La requête  a été réussie et le contenu désiré a été transmis. Ceci est différent avec les codes des zones 400 et 500 qui servent à indiquer des erreurs de dif­fé­rentes sortes. Tous les codes des zones 100 et 200 servent à confirmer la réussite de dif­fé­rents processus. En général, peu d’uti­li­sa­teurs voient ce type de messages, comme ceux de la zone 300 : la trans­mis­sion est réussie, mais le client doit effectuer une nouvelle opération. Il s’agit pour la plupart de re­di­rec­tions, que le na­vi­ga­teur exécute au­to­ma­ti­que­ment et que vous ne remarquez que dans peu de cas en tant qu’uti­li­sa­teur. Ceci est tout à fait différent avec les messages d’erreur : le groupe d’erreurs en 500 est lié à des erreurs du côté du serveur, tandis que la zone d’erreurs en 400 indique une requête dé­fec­tueuse du client. Le message d’erreur le plus populaire est sans aucun doute l’erreur 404 : not found. La cause de cette erreur est ha­bi­tuel­le­ment une URL ou un contenu supprimé à tort. Avec une erreur 400, il est difficile de dé­ter­mi­ner ce qui s’est mal passé. Dans une certaine forme, la demande elle-même est dé­fec­tueuse. Le protocole HTTP, du moins selon l’opinion du serveur Web, n’a pas été respecté cor­rec­te­ment, c’est pourquoi la requête ne peut pas être modifiée. Le serveur a in­ter­prété la requête comme dé­fec­tueuse ou même nocive. Par con­sé­quent, il a empêché le char­ge­ment du site. Les raisons du message d’erreur sont souvent liées avec le na­vi­ga­teur Web utilisé ou sont dues à une erreur de la part de l’uti­li­sa­teur :

  • Mauvaise URL : tout comme l’erreur 404, une erreur Bad Request est générée lorsque les uti­li­sa­teurs entrent de façon in­cor­recte l’adresse Internet et, par exemple, insèrent des ca­rac­tères spéciaux non admis.  
  • Cookies in­cor­rects : si les cookies de votre na­vi­ga­teur sont obsolètes ou in­cor­rects, une erreur 400 peut également se produire.
  • Entrées DNS périmées : des données renvoyant à de mauvaises adresses IP se trouvent dans votre cache DNS.
  • Fichiers trop vo­lu­mi­neux : si vous essayez de té­lé­char­ger des fichiers par­ti­cu­liè­re­ment vo­lu­mi­neux, le serveur peut refuser de les accepter. Ils seront aussi évalués par le serveur en tant que Bad Request.
  • Lignes d’en-tête trop longues : le client et le serveur utilisent des en-têtes pour leurs com­mu­ni­ca­tions, dans les­quelles est définie la requête. Certains serveurs Web dé­fi­nis­sent une limite maximale pour la longueur de ces en-têtes.

Le message d’erreur « TTTP 400 Bad Request » ne fait donc pas ap­pa­raître di­rec­te­ment où réside le problème de com­mu­ni­ca­tion. Si toutefois le serveur Web ciblé utilise IIS 7.0, IIS 7.5 ou IIS 8.0 comme système, des in­for­ma­tions plus dé­tail­lées sont visibles sur le code de statut :

  • 400.1 : Des­ti­na­tion 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

Par ailleurs, une erreur 400 ne se produit pas seulement lors de la na­vi­ga­tion sur un na­vi­ga­teur. D’autres pro­grammes, tels que les clients de mes­sa­ge­rie, peuvent également recevoir le code de statut lors de la com­mu­ni­ca­tion avec un serveur.

Prendre en charge une erreur 400 Bad Request

Comme avec la plupart des codes de statut affichant un message d’erreur, recharger sim­ple­ment le site devrait être suffisant dans de nombreux cas. Le problème devrait être tem­po­raire, surtout si l’erreur se produit pour la première fois sur un site Web que vous pouvez nor­ma­le­ment charger sans problème. Si un nouveau char­ge­ment de la page ne résout pas di­rec­te­ment le problème, cela entraîne parfois la réussite de la sup­pres­sion du cache du na­vi­ga­teur. Éven­tuel­le­ment, votre na­vi­ga­teur Web vient de sau­ve­gar­der une copie du message d’erreur.

Mauvaise URL

L’étape suivante pour analyser le problème devrait être de vérifier l’URL : si vous avez entré l’adresse vous-même dans la barre de votre na­vi­ga­teur, vérifiez si elle ne comporte pas de faute de frappe.  Si vous avez cliqué sur un lien, vous pouvez vérifier l’or­tho­graphe ou accéder à la page prin­ci­pale, puis accéder à la page souhaitée.

Cookies dé­fec­tueux

Le problème peut également survenir en raison de cookies obsolètes ou in­cor­rects. Pour résoudre ce problème, supprimez sim­ple­ment l’entrée cor­res­pon­dante dans votre na­vi­ga­teur. Lorsque vous visitez le site Web à nouveau, le logiciel crée un nouveau cookie.

Remarque

Les in­for­ma­tions con­cer­nant la visite d’un site Web sont en­re­gis­trées dans les Cookies. Le serveur Web peut ainsi savoir si vous avez visité le site Web par le passé ainsi que les pa­ra­mètres effectués à ce moment. Une directive eu­ro­péenne est censée assurer la sphère privée des in­ter­nautes en matière de cookies.

Mauvaise entrée DNS

Une autre pos­si­bi­lité de solution est de supprimer votre cache DNS. Lorsque vous naviguez sur Internet, les noms de domaine que vous entrez sont traduits en adresses IP, uni­que­ment pour se connecter au World Wide Web. Pour ce faire, une ré­so­lu­tion de noms doit être effectuée. Pour rac­cour­cir ce processus, votre PC en­re­gistre tem­po­rai­re­ment les données col­lec­tées dans le cache DNS. Cependant, la prochaine fois que le domaine est entré dans le na­vi­ga­teur et que l’entrée n’a pas été au­to­ma­ti­que­ment supprimée du cache, la ré­so­lu­tion du nom est prise di­rec­te­ment à partir du cache. Si cette entrée est corrompue ou n’est plus à jour, le message « HTTP Bad request » s’affiche.  

Pour supprimer l’entrée in­cor­recte, vous devez supprimer le cache DNS complet. Pour ce faire, exécutez l’invite de commande sous Windows et entrez la commande pour vider la mémoire cache.

                ipconfig /flushdns

Pour les systèmes Mac, la commande dépend de la version OS. Ces commandes sont entrées via le terminal :

  • OS X 10.4 (Tiger) : lookupd -flu­sh­cache
  • OS X 10.5 (Leopard) : dsca­cheu­til -flu­sh­cache
  • OS X 10.6 (Snow Leopard) : dsca­cheu­til - flu­sh­cache
  • OS X 10.7 (Lion) : sudo killall -HUP mDNS­Res­pon­der
  • OS X 10.8 (Mountain Lion) : sudo killall -HUP mDNS­Res­pon­der
  • OS X 10.9 (Mavericks) : dsca­cheu­til -flu­sh­cashe; sudo killall -HUP mDNS­Res­pon­der
  • OS X 10.10 (Yosemite) (10.10.1 – 10.10.3) : sudo dis­co­ve­ru­til udns­fla­sh­caches
  • OS X 10.10 (Yosemite) (10.10.4+) : sudo dsca­cheu­til -flu­sh­cache; sudo killall -HUP mDNS­Res­pon­der
  • OS X 10.11 (El Capitan) : sudo killall -HUP mDNS­Res­pon­der
  • macOS 10.12 (Sierra) : sudo killall -HUP mDNS­Res­pon­der

Problèmes avec des champs d’en-tête http

En tant qu’uti­li­sa­teur : supprimer les cookies et réi­ni­tia­li­ser le na­vi­ga­teur

L’erreur http 400 se produit également lorsque l’en-tête http est trop long. En principe, les en-têtes n’ont pas de limite de taille. Toutefois, le serveur cible peut avoir défini une limite. L’en-tête se compose de plusieurs champs, dans lesquels les requêtes et les réponses sont définies. Lorsque les deux acteurs ont convenu des pa­ra­mètres, les données demandées sont échangées. Si cela ne fonc­tionne pas, un message d’erreur s’affiche. Etant donné qu’il s’agit d’une com­mu­ni­ca­tion entre votre na­vi­ga­teur et le serveur Web, les erreurs 400 cor­res­pon­dent gé­né­ra­le­ment à des problèmes avec le client, causés par le na­vi­ga­teur. La meilleure façon de tester si votre na­vi­ga­teur par défaut crée le problème est de passer tem­po­rai­re­ment sur un autre na­vi­ga­teur.

Si le char­ge­ment de la page fonc­tionne sur le na­vi­ga­teur de test, revenez à votre na­vi­ga­teur Web par défaut. Supprimez y tout d‘abord vos cookies (si vous ne l’avez pas déjà fait pré­cé­dem­ment pour régler le problème). Cette fois, ne supprimez pas seulement les cookies de manière ciblée, mais la totalité par sécurité. La raison pour cela : des cookies sont trans­fé­rés en en-tête, c’est même comme cela que le serveur Web apprend des in­for­ma­tions sur vos pré­cé­dentes visites. Si le na­vi­ga­teur contient trop d’entrées dans la requête, l’en-tête pourrait dépasser la limite de longueur.

Si cette tentative de ré­so­lu­tion de problème n’aboutit pas à un succès, il est pertinent de réins­tal­ler com­plè­te­ment le na­vi­ga­teur ou bien de revenir aux réglages d’usine. Selon votre na­vi­ga­teur, il existe dif­fé­rentes façons de réi­ni­tia­li­ser. Sur Firefox, accédez au centre d’aide pour dépannage en entrant : about:support. Vous y trouverez de nom­breuses in­for­ma­tions qui vous aideront à détecter les erreurs dans le logiciel. Même si vous contactez une équipe d’as­sis­tance, ces données sont im­por­tantes. Vous trouverez un bouton sur cette même page indiquant « nettoyer Firefox ». Un clic en­re­gistre vos pa­ra­mètres actuels, puis supprime les ex­ten­sions ainsi que plusieurs pa­ra­mètres.

Sur Internet Explorer, vous trouverez le bouton « réi­ni­tia­li­ser » dans les options Internet sous l’onglet « avancé » ou « restaurer par défaut » (sous IE 6). Le na­vi­ga­teur Microsoft vous laisse le choix de supprimer ou non vos pa­ra­mètres per­son­nels lors de la réi­ni­tia­li­sa­tion. Comme Internet Explorer compte également sur ces pa­ra­mètres en tant que caches et cookies, il est également re­com­mandé de les supprimer.

Avec Chrome, vous trouverez la fonction « réi­ni­tia­li­ser » dans les pa­ra­mètres du système. Le na­vi­ga­teur conserve vos données per­son­nelles, comme les mots de passe stockés et l’his­to­rique, mais restaure tout à l’état d’usine. Fermez le na­vi­ga­teur et re­dé­mar­rez-le pour que les mo­di­fi­ca­tions prennent effet.

En tant que Webmaster : poser des limites

Si vous êtes un Webmaster et que vous vous êtes déjà plaint du code d’erreur 400, une mo­di­fi­ca­tion des pa­ra­mètres de serveur pourrait aider. Afin que des messages d’erreur ne s’affichent plus en raison d’un en-tête http trop long, les Web­mas­ters peuvent poser des limites. Cependant, vous devez savoir qu’avec des limites plus élevées, vous augmentez aussi le risque de requêtes dé­té­rio­rées. L‘Internet En­gi­nee­ring Task Force (IETF) a également abordé l’erreur 400 Bad Request comme sujet de sa do­cu­men­ta­tion sur http 1.1 et a souligné le risque de limites ex­ces­si­ve­ment élevées (Smuggling Attacks) :

Citation

« A server that receives a request header field, or set of fields, larger than it wishes to process MUST respond with an ap­pro­priate 4xx (Client Error) status code. Ignoring such header fields would increase the server's vul­ne­ra­bi­lity to request smuggling attacks (Section 9.5). »

Vous souhaitez de toute façon modifier la limite? Chaque serveur Web a sa propre méthode. Par exemple, avec IIS (utilisant ASP.NET), vous modifiez par exemple „max­Re­quest­Length“ et „maxAl­lo­wed­Con­tent­Length“. Avec Apache au contraire, vous dé­fi­nis­sez la limite avec „Li­mi­tRe­quest­Field­Size“.

Prise de contact

Mal­heu­reu­se­ment, il se peut qu’aucune des variantes de ré­so­lu­tion de problèmes pré­sen­tées n’aboutisse au but. Vous devriez dans ce cas chercher de l’aide ailleurs. En principe, vous disposez de deux personnes à contacter selon que l’erreur http 400 est affichée sur une page spé­ci­fique, sur plusieurs sites ou sur tous les sites. Si l’erreur ne se produit que sur une page par­ti­cu­lière et que les ten­ta­tives pré­cé­dentes pour résoudre le problème n’ont pas réussi, vous pouvez contacter le Webmaster de la page, ou du moins essayer de le faire. Vous pouvez également contacter votre four­nis­seur d’accès à Internet si vous ne pouvez plus naviguer ré­gu­liè­re­ment, car l’erreur 400 Bad Request est affichée en per­ma­nence. Même si le problème ne concerne pas le four­nis­seur, l’équipe d’as­sis­tance peut vous aider.

Dans les deux cas, vos contacts four­nis­sent gé­né­ra­le­ment autant d’in­for­ma­tions que possible. Cela inclut, d’une part, toutes les ten­ta­tives que vous avez en­tre­prises jusqu’ici pour se dé­bar­ras­ser du problème. D’autre part, vous four­nis­sez également des données sur votre système : quel système d’ex­ploi­ta­tion utilisez-vous ? Quel na­vi­ga­teur Internet utilisez-vous pour surfer sur le Net ? Avez-vous installé des ex­ten­sions pour ce na­vi­ga­teur ? Utilisez-vous un pare-feu ou allez-vous sur Internet via un Proxy ? Toutes ces in­for­ma­tions aident aussi bien l’équipe d’as­sis­tance qu’un webmaster pour la ré­so­lu­tion du problème. Ceci vous permettra de surfer sur Internet à nouveau sans être dérangé par des erreurs 400.

Aller au menu principal