Comment réparer une erreur 406 et trouver la source du problème ?

Procédure

Introduction

Parfois, des erreurs surviennent sur les serveurs et les clients, généralement désignées par des réponses HTTP ou des codes d'état. L'erreur « Erreur 406 » ou « 406 Not Acceptable » est l'une de ces réponses HTTP.

Rencontrer l'erreur 406 en naviguant sur un site peut être frustrant. Pire encore, la voir sur votre propre site web peut être alarmante pour un propriétaire de site ou d'application. En plus de son aspect peu professionnel et déconcertant, toute réponse HTTP, y compris l'erreur 406, peut entraîner une perte de ventes et d'utilisateurs.

Cet article explore les fondements de l'erreur « 406 Not Acceptable », ses causes, comment la résoudre et les mesures à prendre pour éviter qu'elle ne se reproduise à l'avenir.

Qu’est-ce que l’erreur 406 ?

Heureusement, le message d'erreur HTTP « 406 Not Acceptable » n'est pas aussi fréquent que d'autres erreurs de serveur telles que la célèbre erreur 404 (indiquant généralement une page inexistante) ou même que les erreurs HTTP 301 ou 500. Par conséquent, vous ne devriez pas rencontrer ce message aussi fréquemment.

Cependant, bien que rare, l'erreur 406 peut poser problème pour votre site web lorsqu'elle se présente. Elle se manifeste généralement de la manière suivante :

Comment réparer une erreur 406 et trouver la source du problème ?

L'apparence et le texte exact du message d'erreur 406 peuvent varier en fonction du site web, de l'hébergeur et du navigateur utilisé pour accéder au site. Cependant, l'erreur 406 peut donner un indice sur l'origine du problème. Dans certains cas, c'est simplement une erreur « 406 Not Acceptable » sans aucune information supplémentaire pour aider à résoudre le problème.

En résumé, il s'agit essentiellement d'un problème de communication entre le serveur et le navigateur ou la machine utilisée pour afficher l'application web. Le navigateur ne peut pas interpréter les données reçues car elles ne respectent pas certaines exigences.

Quelle est la cause de l’erreur 406 ?

Chaque fois que vous ouvrez une page web, votre navigateur (comme Safari, Firefox, Brave, Chrome ou Internet Explorer) envoie une requête au serveur de la page pour récupérer le contenu du site ainsi que les fichiers de base de données. Le navigateur agit comme un messager entre vous et le serveur : il indique au serveur ce que l'utilisateur souhaite voir et, espérons-le, les informations correctes sont renvoyées.

Lors de cette première requête, le navigateur informe le serveur des formats de fichiers qu'il peut accepter. C'est ce qu'on appelle une demande d'en-tête Accept-, qui invite le serveur à fournir les fichiers dans les formats appropriés pour afficher l'intégralité du site ou de l'application web, en commençant par l'en-tête.

Parfois, le serveur envoie une réponse qui n'est pas dans le format approprié ou qui enfreint une règle établie par le navigateur ou la machine cliente. Dans ce cas, une erreur 406 apparaît dans la fenêtre du navigateur, indiquant que le serveur ne fournit pas les données appropriées.

Voici quelques exemples de « mauvais formats » et de « violations de règles » qui peuvent survenir avec les demandes d'en-tête :

Accept-ranges : Certains serveurs ont mis en place des mesures de sécurité ou n'autorisent qu'une plage de taille de fichier spécifique dans la réponse. Si la réponse tente d'envoyer trop d'octets en dehors de la plage autorisée, une erreur 406 se produit.

Accept-encoding : Cette section de l'en-tête est destinée à la compression des fichiers pour faciliter le transfert rapide du serveur au navigateur. Certains formats de compression ne sont pas acceptés, ce qui entraîne une erreur 406.

Accept-charset : Cela fait référence à un ensemble de caractères ou à la façon dont les fichiers du site utilisent le code (comme CSS et HTML) et le transforment en caractères compréhensibles. Il existe différentes tables de caractères pour différentes langues et symboles.

Accept-language : C'est un paramètre différent d'Accept-charset qui se concentre sur les langues internationales.

Violation du type MIME : Parfois, le navigateur demande un type MIME spécifique au serveur. Si le serveur ne peut pas fournir le type MIME demandé, comme des images JPEG, une erreur 406 se produit.

La principale façon de traiter et de corriger une erreur 406 est d'inspecter le code source pour détecter les problèmes dans les en-têtes Accept-, Request- et Response-.

Le moyen le plus simple d'examiner les en-têtes Accept- et Response- est d'ouvrir une page web dans votre navigateur, de faire un clic droit et de sélectionner Inspecter.

Ensuite, accédez à Réseau > En-têtes pour afficher toutes les requêtes de cette page web.

Comment réparer une erreur 406 et trouver la source du problème ?

Vous pouvez généralement sélectionner n’importe quelle requête dans la longue liste pour voir les en-têtes Request- et Response- de cette requête particulière.

Comment réparer une erreur 406 et trouver la source du problème ?

Vous pouvez également solliciter l'assistance de votre développeur web pour examiner le code source. Toutefois, l'inspection du code source est nettement plus aisée lorsque vous avez accès à des outils de débogage et de nettoyage de base de données, dont nous aborderons les détails plus loin dans cet article.

Comme précédemment mentionné, une erreur « 406 Not Acceptable » indique que le client a transmis une requête valide au serveur, mais avec une exigence spécifique que ce dernier n'a pas pu satisfaire. Cette exigence particulière de la requête initiale était formulée dans l'en-tête HTTP Accept-.

Cela nous amène à envisager quelques causes potentielles :

  • Le serveur n'a pas fourni le type MIME demandé ou les formats appropriés, comme un JPEG ou une vidéo mp4.
  • Le serveur n'a pas retourné la langue correcte (Accept-language). Par exemple, il pourrait avoir renvoyé une réponse en allemand alors que le navigateur demandait le français.
  • Le serveur a utilisé la méthode ou le format de compression incorrect en réponse à la requête Accept-encoding.
  • Le serveur a transmis trop d'octets qui ne correspondaient pas à la requête Accept-ranges.
  • Le serveur a échoué à fournir des caractères compréhensibles, ce qui pourrait être un problème avec la demande Accept-charset du navigateur.

Il existe d'autres raisons possibles pour lesquelles vous pourriez rencontrer l'erreur 406, bien qu'elles soient moins courantes. La liste ci-dessus présente les raisons les plus fréquentes, allant des plus courantes aux moins courantes. Les deux premières raisons sont généralement les plus susceptibles de se produire, il est donc recommandé de concentrer vos efforts sur la recherche de violations éventuelles du type MIME ou de problèmes liés à Accept-language.

Dans l'ensemble, les propriétaires de sites web devraient être conscients de ces problèmes et violations de format, car ils peuvent être causés par diverses anomalies dans les fichiers de votre site. Souvent, ces situations découlent d'erreurs humaines telles que la saisie accidentelle de code incorrect, la suppression involontaire de code nécessaire ou une mauvaise configuration du serveur. L'erreur 406 peut également survenir lorsque des paramètres ou des règles de sécurité spécifiques bloquent la transmission de contenu depuis le serveur.

Comment corriger l’erreur 406 ?

Maintenant que nous avons clarifié les raisons derrière l'apparition de l'erreur 406, examinons les meilleures approches pour la résoudre et prévenir sa récurrence.

Ces stratégies englobent les causes côté client (lorsqu'un utilisateur commet une erreur ou que la machine présente un dysfonctionnement), les causes côté serveur et les problèmes liés à la plateforme, tels que les extensions défectueuses.

Assurez-vous que l’URL est correcte

Notre premier conseil peut sembler simple, mais il s’agit de l’option de dépannage la plus rapide, et elle se concentre sur les problèmes du côté client, c’est-à-dire sur votre ordinateur.

Bien que l'erreur 404 soit beaucoup plus courante que l'erreur 406 dans cette situation, vous pourriez tout de même rencontrer une erreur « 406 Not Acceptable » si l'URL du site web est valide. Dans certains cas, cela peut résulter d'une interprétation étrange de la requête par votre navigateur. Par exemple, l'ajout de « JSON » ou « PHP » à la fin d'une URL peut être interprété comme une demande de ces formats spécifiques, même si le client n'en a pas besoin.

Pour résoudre le problème, réexaminez l'URL précédemment utilisée qui a provoqué l'erreur. Essayez de la saisir à nouveau ou explorez d'autres sous-domaines du site web pour voir si une seule page ne s’affiche pas.

Annulez vos récentes modifications du CMS

Ensuite, il est temps d'explorer le système utilisé pour vos sites web ou vos applications. Il se peut que votre système de gestion de contenu, tel que WordPress, soit la cause directe d’une erreur « 406 Not Acceptable » due à une complication avec quelque chose dans les fichiers de votre site.

Que vous utilisiez WordPress ou tout autre système de gestion de contenu, vérifiez la date de votre dernière mise à jour. WordPress dispose d’une solide infrastructure par défaut destinée à éviter ce type d’erreurs, quoi qu’il arrive.

Cependant, des extensions spécifiques, des thèmes ou un code modifié manuellement pourraient produire des situations où les fichiers du site violent les requêtes du client ou du serveur. Une simple mise à niveau vers la dernière version de votre CMS peut résoudre le problème immédiatement.

Pour savoir s’il s’agit de votre CMS, commencez par annuler toute mise à jour récente des fichiers du cœur. Comme vous le savez peut-être déjà, WordPress envoie régulièrement des mises à jour à son système. La plupart de ces mises à jour se font automatiquement, mais les anciennes versions nécessitent toujours que vous cliquiez sur un bouton.

En outre, WordPress et d’autres CMS utilisent plusieurs éléments mobiles tels que des plugins, des thèmes et des extensions. Ces éléments sont également mis à jour régulièrement, et il se peut donc que vous deviez en annuler certains.

Pour tous les systèmes autres que WordPress, recherchez « nom de la plateforme + comment revenir en arrière » dans un moteur de recherche tel que Google.

La solution la plus simple pour restaurer une ancienne version de votre CMS est de restaurer une sauvegarde en suivant cette documentation.

Désinstaller et réinstaller des plugins, des thèmes et des extensions

Les extensions et les thèmes WordPress ajoutent du code supplémentaire aux fichiers de votre site, ce qui interagit avec les fichiers du cœur de WordPress. Bien que les extensions réputées ne posent généralement aucun problème, il peut arriver qu'un conflit se produise. Un plugin, un thème ou une extension tierce pourrait être à l'origine de l'erreur 406.

Pour identifier l'extension, nous vous invitons à suivre cette documentation.

Il est recommandé d'effectuer les actions sur les extensions avant de passer aux thèmes. La désactivation ou le changement de thème pouvant entrainer une plus forte réorganisation de contenu.

Analysez les journaux de votre serveur

Les conseils précédents ont mis l'accent sur le dépannage côté client et CMS. À présent, nous nous pencherons sur les problèmes côté serveur. Ces astuces, ainsi que celles à suivre, sont utiles si vous n'utilisez pas de CMS ou si vous suspectez que l'erreur 406 n'est pas liée à votre CMS ou à votre machine cliente.

La première étape du dépannage côté serveur consiste à vérifier les journaux. Peu importe le type d'application web, de CMS ou de système de conception web que vous utilisez, ils ont tous des journaux côté serveur.

Les journaux d'application enregistrent l'historique complet ou récent de l'application web, fournissant des informations sur chaque requête de base de données, les résultats fournis, les pages demandées, et plus encore. En revanche, les journaux du serveur contiennent des informations sur la santé et l'état du serveur ou du matériel utilisé pour exécuter l'application web.

Vous pouvez visualiser les journaux error.log et access.log en consultant cette documentation.

L'image ci-dessous montre un exemple de log lié à une erreur 406 :

Comment réparer une erreur 406 et trouver la source du problème ?

Dans cet exemple, c'est le système de sécurité ModSecurity qui a refusé la requête et levé l'erreur 406. Il est nécessaire alors de vérifier la règle qui a été levé et de corriger le problème sur le site ou de désactiver la règle si vous estimez que celle-ci n'a pas d'impact sur la sécurité de votre site Internet.

Empêcher l’erreur 406 à l’avenir

Rien qu'un peu de dépannage ne puisse résoudre. Lorsque l'erreur 406 se produit sur votre site web ou votre application, cela peut être plus préoccupant. Dans ce cas, il est crucial de vérifier le serveur et les fichiers du site CMS.

Pour éviter que cette erreur ne se reproduise à l'avenir, voici quelques conseils pour maintenir la propreté de vos bases de données et de vos fichiers de site :

  1. Limitez l'installation de plugins, thèmes et extensions aux seuls éléments nécessaires et réputés. Gardez toujours ces éléments au strict minimum.

  2. Évitez de modifier les fichiers du cœur de WordPress, sauf en cas de nécessité absolue et si vous maîtrisez ce que vous faites.

  3. Planifiez régulièrement l'exécution d'un nettoyeur de base de données et d'un optimiseur de site. Il est recommandé de le faire chaque mois et de trouver une extension de nettoyage qui fonctionne en arrière-plan.

  4. Mettez en place des sauvegardes automatiques de votre site web ou de votre application. Ainsi, en cas de conflit de code ou d'erreur, vous pourrez restaurer une version antérieure sans stress.

  5. Effectuez toujours une sauvegarde manuelle de votre site avant de mettre à jour WordPress et ses extensions, même si des sauvegardes automatiques sont en place. Il est également sage de sauvegarder avant de modifier des fichiers ou d'ajouter du nouveau code sur votre site.

Conclusion

Vous savez maintenant comment :

  • Reconnaître et comprendre l'origine de l'erreur 406 Not Acceptable
  • Identifier les causes potentielles de cette erreur, qu'elles soient liées à Accept-ranges, Accept-encoding, Accept-charset, Accept-language, ou à une violation du type MIME
  • Effectuer un diagnostic et corriger l'erreur 406 en vérifiant l'URL, en annulant les modifications récentes du CMS, en désinstallant et réinstallant des plugins ou des thèmes, et en analysant les journaux de votre serveur
  • Prévenir l'erreur 406 en limitant les installations de plugins, en évitant les modifications des fichiers du cœur de votre CMS, en planifiant des nettoyages réguliers de la base de données, et en mettant en place des sauvegardes automatiques et manuelles

🔍🛠️ Grâce à ces conseils pratiques, vous êtes désormais armé pour affronter et prévenir efficacement l'erreur 406 Not Acceptable, et ainsi assurer une expérience utilisateur fluide et professionnelle sur votre site web. 🚀

Je tiens à vous remercier pour votre lecture attentive et espère que cet article vous a fourni les clés nécessaires pour gérer au mieux les erreurs de serveur. 🙏 Si vous avez des questions ou si vous souhaitez partager votre expérience avec l'erreur 406, n'hésitez pas à laisser un commentaire ci-dessous. Votre retour est précieux et contribue à l'amélioration continue de notre service !

Notez cet article :

Cet article vous a été utile ?

Article utileOui

Article non utileNon

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

checkMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Articles similaires

0mn de lecture

Comment corriger une erreur 403 Forbidden sur votre site ?

3mn de lecture

Comment corriger une erreur 500 sur votre site avec LWS Panel

0mn de lecture

Comment corriger rapidement l’erreur 401 Unauthorized

10mn de lecture

Comment corriger un codes d'erreurs HTTP ?


Poser une question à l'équipe LWS et à sa communauté