Les erreurs côté serveur et côté client se produisent parfois, et nous les désignons généralement 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.

Vous pouvez voir l’erreur 406 en parcourant un site. Ou pire, sur votre site web. Si elle peut irriter l’internaute moyen, elle peut être à la limite du terrifiant pour un propriétaire de site web ou d’application. Outre son aspect peu professionnel et déroutant, tout code de réponse HTTP, y compris l’erreur 406, peut faire perdre des ventes et des utilisateurs.

Cet article explique les bases de l’erreur « 406 Not Acceptable », ses causes, comment la réparer et les mesures à prendre pour l’éviter à l’avenir.

Consultez notre guide pour réparer une erreur 406 et trouver la source du problème

Qu’est-ce que l’erreur 406 ?

La bonne nouvelle est que le message d’erreur HTTP « 406 Not Acceptable » est loin d’être aussi courant que l’erreur de serveur 404 (qui indique généralement une page web inexistante), ou même que les erreurs HTTP 301 ou 500. Par conséquent, vous ne devriez pas voir ce message aussi souvent.

Bien que cela soit rare, il est toujours possible que l’erreur 406 soit un problème pour votre site web. Elle se présente généralement comme ceci :

Un exemple de message « 406 Not Acceptable ».
Un exemple de message « 406 Not Acceptable ».

Le message se lit généralement comme suit :

Not Acceptable

An appropriate representation of the requested resource could not be found on this server.

Il identifie alors parfois la « ressource demandée » où se situe le problème, avec d’autres messages ou informations sur le serveur mentionnés à la fin :

Certaines erreurs 406 montrent la ressource rejetée.
Certaines erreurs 406 montrent la ressource rejetée.

L’apparence et le texte du message d’erreur 406 dépendent du site web, de l’hébergeur et du navigateur utilisé pour accéder au site. L’erreur 406 peut révéler l’origine de l’erreur. Dans d’autres cas, il s’agit d’une simple erreur « 406 Not Acceptable » sans aucune information pour vous aider à résoudre le problème.

Imaginons maintenant que les navigateurs parlent en anglais simple et non en langage crypté. Dans ce cas, le navigateur dirait quelque chose comme ça :

Bonjour, je suis un navigateur. J’ai essayé d’afficher cette page web, mais un des deux problèmes est survenu :

  1. Le serveur du site m’a envoyé le mauvais format de fichier, je ne peux donc pas l’accepter.
  2. Le serveur du site web ne respecte pas certains réglages ou exigences de sécurité.

Par conséquent, veuillez résoudre cela ou demander au serveur d’utiliser l’un des formats de fichier que j’accepte. Au cas où vous vous poseriez la question, voici les formats de fichiers que je sais lire.

Si seulement les navigateurs étaient aussi conviviaux !

Il s’agit essentiellement d’un problème de communication entre le serveur et le navigateur ou la machine utilisée pour présenter l’application web. Le navigateur ne peut pas lire ce qui arrive ou vérifier les données parce qu’elles ne répondent pas à certaines exigences.

Maintenant, nous devons répondre à quelques questions pour découvrir la cause de cette erreur de communication.

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 obtenir le contenu du site et les fichiers de base de données. Le navigateur joue le rôle de messager entre vous et le serveur : il indique au serveur ce que l’utilisateur souhaite voir et, avec un peu de chance, les informations correctes sont renvoyées.

Lors de cette première requête, le navigateur indique au serveur les formats de fichiers qu’il peut accepter. C’est ce qu’on appelle une demande d’en-tête Accept-, qui invite le serveur à livrer les fichiers dans les formats appropriés pour produire l’ensemble 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 viole 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 des 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, vous verrez apparaître l’erreur 406.
  • Accept-encoding : Il s’agit d’une zone de l’en-tête destinée à compresser les fichiers, afin qu’ils passent rapidement du serveur au navigateur. Certaines méthodes de compression et certains formats ne sont pas acceptés, ce qui entraîne un code d’erreur 406.
  • Accept-charset : Fait référence à un jeu de caractères ou à la façon dont les tables de fichiers du site prennent le code (comme CSS et HTML) et le transforment en caractères compréhensibles. Il existe tellement de caractères, de langues et de symboles dans le monde qu’il est difficile de les couvrir tous. La table standard est appelée ISO-8859, mais il existe également d’autres tables complémentaires. De nouvelles tables de caractères sont publiées de temps à autre pour tenir compte des ajouts de langues et de caractères.
  • Accept-language : Il s’agit généralement d’un nom différent de Accept-charset qui fait référence à l’accent mis sur les langues internationales.
  • MIME type violation : Parfois, le navigateur demande au serveur un type MIME spécifique. Les types MIME sont des éléments de contenu tels que des images JPEG, des formats vidéo spécifiques ou du texte simple. Si le serveur ne peut pas fournir un type MIME demandé, comme des images JPEG, vous verrez apparaître une erreur 406.

La principale façon d’aborder et de corriger une erreur 406 est de vérifier 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.

Allez dans Réseau > En-têtes pour révéler toutes les requêtes de cette page web.

Faites un clic droit et choisissez Inspecter dans le navigateur, puis allez dans les onglets Réseau et En-têtes.
Faites un clic droit et choisissez Inspecter dans le navigateur, puis allez dans les onglets Réseau et En-têtes.

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.

Cliquez sur n'importe quelle requête dans la liste pour voir des éléments comme les en-têtes -Response- et -Request-.
Cliquez sur n’importe quelle requête dans la liste pour voir des éléments comme les en-têtes -Response- et -Request-.

Vous pouvez également contacter votre développeur web pour qu’il jette un coup d’œil au code source. Cependant, la vérification du code source est beaucoup plus facile lorsque vous disposez d’outils de débogage et de nettoyage de votre base de données, dont nous parlerons plus loin dans cet article.

Comme nous l’avons déjà mentionné, une erreur « 406 Not Acceptable » nous indique que le client a envoyé une requête valide au serveur, mais que celle-ci comportait une exigence unique que le serveur devait respecter. Cette exigence particulière de la requête initiale se présentait sous la forme d’un en-tête HTTP Accept-.

Cela nous laisse avec quelques causes potentielles :

  1. Le serveur n’a pas fourni le type MIME demandé ou les formats appropriés, comme un JPEG ou une vidéo mp4.
  2. Le serveur n’a pas renvoyé la bonne langue (Accept-language). Par exemple, il peut avoir renvoyé une réponse en allemand alors que le navigateur demandait le français.
  3. Le serveur a utilisé la mauvaise méthode ou le mauvais format de compression en réponse à la requête Accept-encoding.
  4. Le serveur a renvoyé trop d’octets qui ne correspondaient pas à la requête Accept-ranges.
  5. Le serveur n’a pas réussi à fournir des caractères compréhensibles, ce qui entraînerait un problème avec la requête Accept-charset du navigateur.

Il existe d’autres raisons pour lesquelles vous pouvez voir l’erreur 406, mais elles ne sont pas aussi courantes. La liste ci-dessus va des raisons les plus courantes aux moins courantes. Les deux premières raisons sont beaucoup plus fréquentes que les autres. Il est donc fort probable que vous deviez vous concentrer sur la recherche d’une éventuelle violation du type MIME ou d’un problème Accept-language.

Dans l’ensemble, les propriétaires de sites web devraient connaître ces problèmes et violations de format, car quelque chose dans les fichiers de votre site peut causer des problèmes. Ces situations sont souvent dues à une erreur humaine, comme le fait de saisir accidentellement le mauvais code, de supprimer le code nécessaire ou de mal configurer le serveur. L’erreur 406 apparaît également lorsque des réglages ou des règles de sécurité spécifiques bloquent la transmission de contenu depuis le serveur.

Comment corriger l’erreur 406

Il est prudent d’exécuter une sauvegarde du site web ou de l’application avant d’effectuer toute démarche visant à résoudre une erreur 406. Il est toujours possible de causer d’autres problèmes en accédant au code source de votre site. Vous devez donc disposer d’une sauvegarde de la base de données et des fichiers du site à restaurer si nécessaire.

Veillez à effectuer une sauvegarde complète de tout, de la base de données à l’application et des éléments multimédias aux fichiers du site. Si vous êtes un utilisateur de Kinsta, vous pouvez le faire avec la fonction de sauvegarde de MyKinsta, qui enregistre l’ensemble de votre site web dans un fichier séparé et dispose d’un bouton de Restauration pour une utilisation ultérieure :

Exécutez des sauvegardes quotidiennes, horaires ou manuelles dans le tableau de bord MyKinsta.
Exécutez des sauvegardes quotidiennes, horaires ou manuelles dans le tableau de bord MyKinsta.

Maintenant que nous avons une meilleure compréhension de la raison pour laquelle l’erreur 406 se produit, il est temps de parler des meilleures méthodes pour dépanner l’erreur et empêcher qu’elle ne se reproduise.

Ces tactiques comprennent les causes côté client (lorsqu’un utilisateur commet une erreur ou que la machine ne fonctionne pas correctement), les causes côté serveur et les causes liées à la plateforme, comme 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 il met l’accent sur les problèmes du côté client (c’est-à-dire votre ordinateur).

Une erreur 404 est beaucoup plus probable qu’une erreur 406 dans cette situation, mais vous pouvez finir par voir une erreur « 406 Not Acceptable » si l’URL du site web est valide. Pourtant, il y a quelque chose d’étrange dans la façon dont votre navigateur traduit la requête. Par exemple, l’ajout de « JSON » ou « PHP » à la fin d’une URL peut être interprété comme une demande de ces formats particuliers, même si le client n’en a pas besoin.

Pour résoudre le problème, vérifiez à nouveau l’URL précédemment utilisée qui a produit l’erreur. Essayez de la saisir à nouveau ou d’opter pour un autre sous-domaine du site web pour voir si une seule page ne s’affiche pas.

Un message 406 est techniquement considéré comme un code d’erreur côté client (même s’il s’agit souvent d’un problème de plateforme ou de serveur). C’est donc la première mesure à prendre pour déterminer si quelque chose ne va pas du côté client.

Réinitialisez vos appareils et vos réseaux

Un autre problème côté client concerne parfois ces mêmes en-têtes Accept- envoyés par l’ordinateur de l’utilisateur à une plateforme qui ne peut pas satisfaire la requête. Parmi ces plateformes, on trouve souvent des systèmes axés sur les jeux ou les médias comme Hulu ou des places de marché musicales comme Spotify.

En termes plus simples, vous pouvez vous connecter à une plateforme comme Hulu, essayer de regarder votre émission de télévision préférée et recevoir un message d’erreur 406. Dans cet exemple, le problème se situe presque toujours du côté du client. Il s’agit généralement de votre ordinateur, de votre réseau ou d’un autre appareil que vous avez utilisé pour lancer la plateforme.

Bien que cela puisse se produire avec n’importe quelle plateforme, certaines plateformes qui signalent couramment des erreurs 406 sont :

  • Hulu
  • Google Play
  • Square Enix Games
  • Netflix
  • Xbox
  • Windows (généralement pour les jeux)

Cette liste est loin d’être complète, mais elle vous donne une idée de l’endroit où l’erreur 406 peut se produire.

Les plateformes de médias et de jeux sont compliquées et comportent de nombreuses restrictions, qui dépendent de votre emplacement ou de la configuration de votre réseau. Il est possible que vous rencontriez une erreur de ce type en raison de toutes ces pièces mobiles.

Bien que nous ne puissions pas vous aider à dépanner chaque plateforme spécifique, pensez à suivre les recommandations suivantes et à vérifier si l’erreur se résout :

  • Allez en ligne pour vérifier l’état du serveur de votre plateforme. Il peut s’agir simplement d’un problème avec le serveur de l’entreprise.
  • Redémarrez votre ordinateur, votre console de jeu, votre appareil de streaming ou d’autres machines.
  • Déconnectez tous les appareils de leurs câbles, attendez quelques minutes avant de les reconnecter tous, et vérifiez si l’erreur a disparu.
  • Vérifiez si l’application utilise la version la plus récente. Vérifiez également si l’une de vos machines dispose de mises à jour du firmware.
  • Réinitialisez votre réseau domestique ou professionnel (la connexion Wi-Fi ou Internet via votre routeur).
  • Envisagez de passer d’un réseau sans fil à une connexion filaire si vous rencontrez toujours des difficultés.
  • Bien que ce ne soit pas toujours possible, envisagez de reproduire l’erreur avec une machine complètement différente. Assurez-vous que l’appareil se trouve sur le même réseau. Si vous ne parvenez pas à reproduire l’erreur, examinez votre réseau et la machine d’origine.

Si tout le reste échoue, allez sur votre moteur de recherche et tapez le nom de votre plateforme ainsi que « + 406 error code » pour obtenir des conseils de dépannage spécifiques à la plateforme. Vous trouverez souvent des forums et des documents de support qui vous guideront dans votre démarche.

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 ».

Si vous utilisez WordPress, vous pouvez facilement faire revenir en arrière votre site web WordPress, en le ramenant à l’une des versions précédentes :

Passer à une version antérieure de WordPress.
Passer à une version antérieure de WordPress.

Ce guide présente les méthodes suivantes pour faire revenir votre site WordPress à une version antérieure, dont la plupart ne prennent que quelques minutes :

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 qui interagissent avec les fichiers du cœur de WordPress. Les extensions réputées ne posent généralement aucun problème, mais il arrive qu’un conflit se produise. Un plugin, un thème ou une extension tierce peut être à l’origine de l’erreur 406.

La méthode éprouvée pour identifier une extension ou un thème problématique consiste à désactiver vos extensions et thèmes un par un. Après les avoir désactivés, vérifiez si l’erreur 406 a disparu. Si c’est le cas, vous avez trouvé le problème. S’il ne disparaît pas, réinstallez l’extension ou le thème et continuez à désinstaller le suivant.

Allez dans l'onglet Extensions de WordPress et désactivez chaque extension une par une.
Allez dans l’onglet Extensions de WordPress et désactivez chaque extension une par une.

Analysez l’état de votre base de données pour détecter les changements et les conflits.

Malheureusement, une extension « à problème » supprimée peut encore affecter votre base de données WordPress, car les extensions doivent avoir un accès complet à la base de données pour fonctionner correctement. Par conséquent, vous devez toujours vérifier l’état de votre base de données même s’il semble que la suppression d’une extension ait fait disparaître l’erreur 406. Sinon, vous risquez de rencontrer d’autres problèmes à l’avenir.

Si une extension ou un thème n’est pas le coupable, vous devez également vérifier votre base de données si elle est la source principale de l’erreur. Parfois, une modification de la base de données, qu’elle soit accidentelle ou volontaire, devient la raison principale de l’apparition d’une erreur 406.

Pour analyser et réparer votre base de données, envisagez les solutions suivantes :

  1. Installez un scanner et un nettoyeur de base de données qui supprime les tables et les ressources inutiles et gênantes. Parmi les options possibles, citons WP Optimize et Advanced Database Cleaner. Une grande partie de ce processus implique la suppression d’éléments anciens ou orphelins tels que les articles mis à la corbeille, les révisions et les métadonnées. C’est une première étape solide pour nettoyer votre base de données et potentiellement éliminer cette erreur 406.
  2. Analysez la base de données et recherchez les enregistrements et les tables potentiellement modifiés par une extension problématique ou ceux qui semblent déplacés ou inutiles.
  3. Si vous avez une idée de ce qui ne va pas dans votre base de données, allez sur un moteur de recherche et cherchez de l’aide dans les forums et autres discussions en ligne. Il y a de fortes chances que quelqu’un d’autre ait rencontré le même problème.
Nettoyez votre base de données avec un outil d'optimisation comme WP-Optimize. Source d'image : WP-Optimize
Nettoyez votre base de données avec un outil d’optimisation comme WP-Optimize. Source d’image : WP-Optimize

Analysez les journaux de votre serveur

Les recommandations précédentes se concentrent sur le dépannage côté client et orienté CMS. Nous allons maintenant examiner tous les problèmes côté serveur. Cette astuce, et les suivantes, sont à privilégier si vous n’utilisez pas de CMS ou si vous savez que l’erreur 406 n’a aucun lien avec votre CMS ou votre machine cliente.

La première étape du dépannage du 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 stockent l’historique complet (ou récent) de cette application Web, avec des informations sur chaque requête de base de données, les résultats fournis, les pages demandées, et bien plus encore. D’autre part, 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.

Pour les utilisateurs de Kinsta, vous pouvez trouver les journaux d’erreurs et de serveur dans le tableau de bord MyKinsta. Vérifiez tous les journaux qui peuvent être à l’origine de l’erreur 406 :

  • Le fichier error.log
  • Le fichier kinsta-cache-perf.log
  • Le fichier access.log
Pour voir les trois journaux nécessaires, cliquez sur l'onglet Sites, choisissez votre site, puis le bouton Journaux, ainsi que le type de journal dans le menu déroulant.
Pour voir les trois journaux nécessaires, cliquez sur l’onglet Sites, choisissez votre site, puis le bouton Journaux, ainsi que le type de journal dans le menu déroulant.

Vous pouvez également vérifier les accès bruts et les fichiers journaux d’erreurs de WordPress avec un client FTP. D’autres options incluent l’activation des journaux d’erreurs dans wp-config.php et le passage par le mode débogage dans le tableau de bord MyKinsta.

Si vous avez des problèmes pour trouver les journaux d’erreurs ou si vous ne savez pas comment les interpréter, contactez l’équipe de support client de Kinsta pour obtenir de l’aide.

Déboguer l’application web (comme WordPress)

Comme la plupart des applications web ont des journaux de serveur et d’erreurs, elles fournissent aussi généralement des informations sur le débogage de l’application elle-même. Le débogage consiste à parcourir le code de l’application pour trouver et éliminer les erreurs mineures (ou bogues).

L’une des meilleures façons d’effectuer une analyse complète de WordPress (et de toute autre application web d’ailleurs) est de déboguer la base de données et les fichiers du site web. Heureusement, le débogage ne signifie pas que vous devez lire chaque ligne de code et repérer les bogues vous-même. Des programmes sont disponibles dans ce but précis, et comme nous l’avons mentionné précédemment, Kinsta a même son outil de débogage dans le tableau de bord MyKinsta.

Commencez le processus de débogage en apprenant les bases du débogage de WordPress avec le Kinsta Debug Mode, les extensions WordPress Debug, ou un processus plus manuel :

Sites > Outils vous amène à une page permettant d’activer le mode de débogage de WordPress dans le tableau de bord de Kinsta.
Sites > Outils vous amène à une page permettant d’activer le mode de débogage de WordPress dans le tableau de bord de Kinsta.

Empêcher l’erreur 406 à l’avenir

Le problème avec l’erreur 406 est qu’elle peut apparaître dans de nombreuses situations différentes. Vous pouvez voir l’erreur « 406 Not Acceptable » en naviguant sur Hulu ou Netflix en tant que consommateur régulier.

Ce n’est pas très agréable, mais rien qu’un petit dépannage ne puisse régler. L’erreur 406 est plus préoccupante lorsqu’elle se produit sur votre site web ou votre application. Dans ce cas, vous devez vérifier le serveur et les fichiers du site CMS.

S’il s’agit de votre site web, vous voudrez éviter que l’erreur ne se reproduise. Les extensions, les thèmes et l’erreur humaine peuvent toujours entrer en jeu, mais nous avons quelques suggestions pour que vos bases de données et les fichiers de votre site restent propres à l’avenir :

  • N’installez que les plugins, thèmes et extensions nécessaires et réputés. Limitez toujours ces éléments au minimum.
  • Ne modifiez jamais les fichiers du cœur de WordPress, sauf si vous devez absolument le faire et si vous savez ce que vous faites.
  • Exécutez régulièrement un nettoyeur de base de données et un optimiseur de site. Nous vous recommandons d’effectuer ce processus tous les mois et, idéalement, de trouver une extension de nettoyage qui fonctionne automatiquement en arrière-plan.
  • Prenez l’habitude de déboguer votre serveur et votre application web. Comme mentionné, Kinsta offre une fonction de débogage dans son tableau de bord. De nombreuses autres applications disposent également de ce type de fonctionnalité.
  • Mettez en place des sauvegardes automatiques de votre site web ou de votre application. De cette façon, un conflit de code ou une erreur ne vous causera pas beaucoup de stress puisque vous pourrez restaurer une version antérieure du site web et repartir de là.
  • Effectuez une sauvegarde manuelle de votre site avant de mettre à jour WordPress et ses extensions, même si vous effectuez déjà des sauvegardes automatiques (mieux vaut prévenir que guérir). Il est également judicieux d’effectuer des sauvegardes avant de modifier des fichiers ou d’ajouter du nouveau code sur votre site.

Résumé

Vous pouvez corriger l’erreur 406 de plusieurs façons. Tant que vous savez ce que vous voyez et où chercher la solution, vous devriez être en mesure d’éliminer l’erreur.

Bien que ce ne soit pas l’une des erreurs les plus courantes de WordPress, vous la verrez de temps en temps si votre configuration n’est pas correcte.

Vous avez d’autres recommandations pour résoudre les erreurs « 406 Not Acceptable » ? Merci de les partager dans la section des commentaires ci-dessous !

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.