Los errores del lado del servidor y del cliente ocurren ocasionalmente, y comúnmente nos referimos a ellos como respuestas HTTP o códigos de estado. El «error 406» o «406 Not Acceptable» es una de esas respuestas HTTP.

Es posible que veas el error 406 al visitar un sitio. O peor aún, en tu sitio web. Aunque puede irritar al usuario medio de Internet, puede ser casi aterrador para el propietario de un sitio web o de una aplicación. Además de tener un aspecto poco profesional y confuso, cualquier código de respuesta HTTP, incluido el error 406, puede hacer perder ventas y usuarios.

Este artículo explicará los fundamentos del error «406 Not Acceptable», sus causas, cómo solucionarlo y los pasos para evitarlo en el futuro.

Comprueba nuestra guía para solucionar un error 406 y encontrar el origen del problema

¿Qué es el error 406?

La buena noticia es que el mensaje de error HTTP «406 Not Acceptable» no es tan común como el error de servidor 404 (que suele indicar una página web inexistente), o incluso los errores HTTP 301 o 500. Por lo tanto, definitivamente no deberías verlo tantas veces.

Aunque es raro, todavía es posible que el error 406 entre en juego como un problema para tu sitio web. Suele tener el siguiente aspecto:

Un ejemplo de mensaje
Un ejemplo de mensaje «406 Not Acceptable».

El mensaje suele ser el siguiente:

No es aceptable

No se ha podido encontrar una representación adecuada del recurso solicitado en este servidor.

A continuación, a veces identifica el «recurso solicitado» en el que radica el problema, con otros mensajes o información del servidor mencionados al final:

Algunos errores 406 muestran el recurso rechazado
Algunos errores 406 muestran el recurso rechazado.

El aspecto y el texto del mensaje de error 406 dependen del sitio web, del host y del navegador utilizado para acceder al sitio web. El error 406 puede revelar el origen de los errores. Otras veces, puedes encontrar que es un simple error «406 Not Acceptable» sin ninguna información que te ayude a resolver el problema.

Ahora, hagamos como si los navegadores hablaran en inglés sencillo y no con estos mensajes crípticos. En ese caso, el navegador diría algo así:

Hola, soy un navegador. Traté de mostrar esta página web, pero se produjo uno de los dos problemas:

  1. El servidor del sitio web me ha enviado un formato de archivo equivocado, por lo que no puedo aceptarlo.
  2. El servidor del sitio web infringe algunos ajustes o requisitos de seguridad.

Por lo tanto, te ruego que resuelvas la infracción o que el servidor utilice uno de los formatos de archivo que acepto. En caso de que te lo preguntes, estos son los formatos de archivo que sé leer.

Si los navegadores fueran así de amables.

Esencialmente, hay una falta de comunicación entre el servidor y el navegador o la máquina utilizada para presentar la aplicación web. El navegador no puede leer lo que está entrando o verificar los datos porque no cumplen algunos requisitos.

Ahora tenemos que responder a algunas preguntas para averiguar la causa de esa falta de comunicación.

¿Qué causa el error 406?

Cada vez que abres una página web, tu navegador (como Safari, Firefox, Brave, Chrome o Internet Explorer) envía una petición al servidor de la página para obtener el contenido del sitio y los archivos de la base de datos. El navegador actúa como mensajero entre ti y el servidor: le dice al servidor lo que el usuario quiere ver y, con suerte, le devuelve la información correcta.

Durante esa primera petición, el navegador indica al servidor los formatos de archivo que puede aceptar. Es lo que se llama una petición de cabecera Accept-, que pide al servidor que entregue los archivos en los formatos adecuados para producir todo el sitio o aplicación web, empezando por la cabecera.

A veces, el servidor envía una respuesta que no está en el formato adecuado o viola una regla establecida por el navegador o la máquina cliente. En esta situación, aparece un error 406 en la ventana del navegador, indicando que el servidor no está entregando los datos adecuados.

Estos son algunos ejemplos de «malos formatos» y «violaciones de las normas» que pueden surgir con las solicitudes de cabecera:

  • Rangos de aceptación: Algunos servidores tienen medidas de seguridad establecidas o solo permiten un rango de tamaño de archivo específico en la respuesta. Si la respuesta intenta enviar demasiados bytes fuera del rango permitido, verás el error 406.
  • Accept-encoding: Esta es un área de la cabecera destinada a comprimir los archivos, para que se muevan rápidamente desde el servidor hasta el navegador. Algunos métodos y formatos de compresión no son aceptados, dando un código de error 406.
  • Accept-charset: Se refiere a un conjunto de caracteres o a cómo las tablas de los archivos del sitio toman el código (como CSS y HTML) y lo convierten en caracteres comprensibles. Hay tantos caracteres, idiomas y símbolos en el mundo que es un reto abarcarlos todos. La tabla estándar se llama ISO-8859, pero también hay otras tablas complementarias. De vez en cuando se publican nuevas tablas de caracteres para mantenerse al día con las incorporaciones de idiomas y caracteres.
  • Accept-language: Suele ser un nombre diferente de Accept-charset que hace referencia a su enfoque en los idiomas internacionales.
  • Violación del tipo MIME: A veces, el navegador solicita un tipo MIME específico al servidor. Los tipos MIME son elementos de contenido como imágenes JPEG, formatos de vídeo específicos o texto simple. Si el servidor no puede proporcionar un tipo MIME solicitado, como las imágenes JPEG, verá un error 406.

La principal forma de abordar y solucionar un error 406 es comprobando el código fuente en busca de problemas en las cabeceras Accept-, Request- y Response-.

La forma más fácil de revisar las cabeceras Accept- y Response- es abrir una página web en el navegador, hacer clic con el botón derecho y seleccionar Inspect.

Dirígete a Network > Headers revelar todas las solicitudes de esta página web.

Haga clic con el botón derecho del ratón y elija Inspeccionar en el navegador, luego vaya a las pestañas Red y Encabezados
Haz clic con el botón derecho del ratón y elija Inspeccionar en el navegador, luego dirígete a las pestañas Red y Encabezados.

Normalmente puedes seleccionar cualquier solicitud de la lista larga para ver las cabeceras de Request- y Response- de esa solicitud en particular.

Haga clic en cualquier solicitud de la lista para ver aspectos como las cabeceras de respuesta y solicitud
Haz clic en cualquier solicitud de la lista para ver aspectos como las cabeceras de respuesta y solicitud.

O bien, puedes contactar con tu desarrollador web para que eche un vistazo al código fuente. Sin embargo, comprobar el código fuente es mucho más fácil cuando tienes herramientas para depurar y limpiar tu base de datos, de las que hablaremos más adelante en este artículo.

Como se ha mencionado antes, un error «406 Not Acceptable» nos dice que el cliente ha enviado una petición válida al servidor, pero la petición incluía un requisito especial que el servidor debía seguir. Ese requisito especial en la solicitud inicial estaba en la forma de una cabecera HTTP Accept-.

Eso nos deja con unas cuantas causas potenciales:

  1. El servidor no proporcionó el tipo de MIME solicitado ni los formatos adecuados, como un vídeo JPEG o mp4.
  2. El servidor no ha devuelto con el idioma correcto (Accept-language). Por ejemplo, puede haber devuelto una respuesta en alemán cuando el navegador pedía francés.
  3. El servidor utilizó un método o formato de compresión incorrecto en respuesta a la petición Accept-encoding.
  4. El servidor devolvió demasiados bytes que no se ajustaban a la solicitud de Accept-ranges.
  5. El servidor no pudo proporcionar caracteres comprensibles, lo que provocaría un problema con la solicitud Accept-charset del navegador.

Hay otras razones por las que puede ver el error 406, pero no son tan comunes. La lista anterior va de las razones más comunes a las menos comunes. Las dos primeras entran en juego mucho más a menudo que las otras, por lo que es muy probable que debas centrarte en solucionar la posible violación del tipo MIME o un problema de Accept-language.

En general, los propietarios de sitios web deben conocer estos problemas de formato y violaciones, viendo cómo algo dentro de los archivos de su sitio puede causar problemas. Estas situaciones suelen producirse por un error humano, como escribir accidentalmente el código equivocado, borrar el código necesario o configurar mal el servidor. El error 406 también aparece cuando configuraciones o reglas de seguridad específicas bloquean la transmisión de contenidos desde el servidor.

Cómo solucionar el error 406

Es prudente ejecutar una copia de seguridad el sitio web o de la aplicación antes de completar cualquier paso para resolver un error 406. Siempre existe la posibilidad de causar más problemas al entrar en el código fuente de tu sitio, por lo que querrás tener una copia de seguridad de la base de datos y de los archivos del sitio para restaurarlos si es necesario.

Asegúrate de completar una copia de seguridad completa con todo, desde la base de datos hasta la aplicación y los elementos multimedia hasta los archivos del sitio. Si eres usuario de Kinsta, puedes hacerlo con la función de copia de seguridad de MyKinsta, que registra todo tu sitio web en un archivo separado y tiene un botón de Restaurar para su uso posterior:

Realiza copias de seguridad diarias, por horas o manuales en el panel de MyKinsta.
Realiza copias de seguridad diarias, por horas o manuales en el panel de MyKinsta.

Ahora que tenemos una comprensión más profunda de por qué se produce el error 406, es el momento de hablar de los mejores métodos para solucionar el error y evitar que se repita.

Estas tácticas incluyen causas del lado del cliente (cuando un usuario comete un error o la máquina no funciona correctamente), causas del lado del servidor y causas basadas en la plataforma, como los plugins defectuosos.

Asegúrate de que la URL es correcta

Nuestro primer consejo puede parecer simple, pero es la opción de solución de problemas más rápida, y se centra en los problemas del lado del cliente (es decir, tu ordenador).

Un error 404 es mucho más probable que un error 406 en esta situación, pero puede acabar viendo un error «406 Not Acceptable» si la URL del sitio web es válida. Sin embargo, hay algo extraño en la forma en que el navegador traduce la solicitud. Por ejemplo, añadir «JSON» o «PHP» al final de las URLs podría ser malinterpretado como una petición de esos formatos particulares, aunque el cliente no los necesite.

Para resolver el problema, vuelve a comprobar la URL utilizada anteriormente que produjo el error. Intenta escribirla de nuevo u opta por un subdominio diferente en el sitio web para ver si es solo una página la que no se está renderizando.

Un mensaje 406 se considera técnicamente un código de error del lado del cliente (aunque a menudo es un problema de la plataforma o del servidor), por lo que este es el primer curso de acción para determinar si algo está mal en el lado del cliente.

Reinicia tus dispositivos y redes

Otro problema del lado del cliente implica ocasionalmente esas mismas cabeceras Accept- enviadas desde el ordenador del usuario a una plataforma que no puede satisfacer la solicitud. Muchas de estas plataformas incluyen sistemas orientados a los juegos o a los medios de comunicación como Hulu o mercados de música como Spotify.

En términos más sencillos, puedes entrar en una plataforma como Hulu, intentar ver tu programa de televisión favorito y recibir un mensaje de error 406. En este ejemplo, el problema está casi siempre en el lado del cliente. Suele ser tu ordenador, la red o cualquier otro dispositivo que hayas utilizado para iniciar la plataforma.

Aunque puede ocurrir con cualquier plataforma, algunas plataformas que comúnmente reportan errores 406 incluyen:

  • Hulu
  • Google Play
  • Juegos de Square Enix
  • Netflix
  • Xbox
  • Windows (normalmente para juegos)

Esta lista no es ni mucho menos completa, pero te da una idea de dónde puede producirse el error 406.

Las plataformas de medios y juegos son complicadas y tienen muchas restricciones, y esas restricciones dependen de tu ubicación o de la configuración de la red. Existe la posibilidad de que te encuentres con un error como este debido a todas las piezas en movimiento.

Aunque no podemos ayudarte a solucionar cada plataforma específica, considera la posibilidad de seguir las siguientes recomendaciones y comprobar si el error se resuelve:

  • Comprueba en Internet el estado del servidor de tu plataforma. Puede tratarse simplemente de un problema con el servidor de la empresa.
  • Reinicia tu ordenador, sistema de juego, dispositivo de streaming u otras máquinas.
  • Desconecta todos los dispositivos de sus cables, espere unos minutos antes de volver a conectarlos todos y comprueba si el error ha desaparecido.
  • Comprueba si la aplicación está ejecutando la versión más actual. Además, comprueba si alguna de tus máquinas tiene actualizaciones de firmware disponibles.
  • Reinicia la red de tu casa u oficina (la conexión WiFi o de Internet a través de su router).
  • Considera la posibilidad de cambiar de una red inalámbrica a una conexión de red por cable si sigues teniendo problemas.
  • Aunque esto no siempre es posible, considera la posibilidad de duplicar el error con una máquina completamente diferente. Asegúrate de que el dispositivo está en la misma red. Si no puedes replicar el error, investiga tu red y la máquina original.

Si todo lo demás falla, dirígete a tu motor de búsqueda y escribe el nombre de tu plataforma junto con «+ 406 código de error» para obtener consejos de solución de problemas específicos de la plataforma. A menudo aparecen foros y documentación de apoyo que te guiarán en el proceso.

Retirar los cambios recientes del CMS

A continuación, es el momento de explorar el sistema utilizado para tus sitios web o aplicaciones. Es posible que tu sistema de gestión de contenidos, como WordPress, sea la causa directa de un error «406 Not Acceptable» debido a una complicación con algo dentro de los archivos de tu sitio.

Tanto si usas WordPress como cualquier otro sistema de gestión de contenidos, comprueba cuándo se produjo la última actualización. WordPress cuenta con una robusta infraestructura por defecto pensada para evitar este tipo de errores, sea cual sea.

Sin embargo, plugins específicos, temas o codificación ajustada manualmente podrían producir situaciones en las que los archivos del sitio violan las peticiones del cliente o del servidor. Una simple actualización a la última versión de su CMS puede resolver el problema de inmediato.

Para saber si se trata de tu CMS, comience por revertir cualquier actualización reciente que se haya producido en los archivos principales. Como ya sabrás, WordPress envía actualizaciones a su sistema regularmente. La mayoría de estas actualizaciones se realizan de forma automática, pero las versiones más antiguas todavía requieren que se haga clic en un botón.

Además, WordPress y otros CMS utilizan varias partes móviles como plugins, temas y extensiones. Estos también se actualizan con regularidad, por lo que es posible que tengas que deshacer algunos de ellos.

Para todos los sistemas fuera de WordPress, busque «nombre de la plataforma + cómo hacer un downgrade».

Si utilizas WordPress, puedes degradar fácilmente tu sitio web de WordPress, haciéndolo retroceder a una de las versiones anteriores:

Descender a una versión anterior de WordPress
Descender a una versión anterior de WordPress.

Esta guía describe los siguientes métodos para reducir tu sitio de WordPress, la mayoría de los cuales solo requieren unos minutos:

Desinstalación y reinstalación de plugins, temas y extensiones

Los plugins y temas de WordPress añaden código adicional a los archivos de tu sitio que interactúan con los archivos principales de WordPress. Los plugins de buena reputación no suelen causar ningún problema, pero ocasionalmente se produce un conflicto. Un plugin, un tema o una extensión de terceros pueden ser la razón del error 406.

El método probado para identificar un plugin o tema problemático es desactivar los plugins y temas uno por uno. Después de desactivar cada uno, comprueba si el error 406 ha desaparecido. Si es así, has encontrado el problema. Si no desaparece, reinstala el plugin o tema y continúa desinstalando el siguiente.

Vaya a la pestaña de plugins en WordPress y desactive cada plugin uno por uno
Dirígete a la pestaña de plugins en WordPress y desactive cada plugin uno por uno.

Analiza el estado de tu base de datos en busca de cambios y conflictos

Desgraciadamente, un plugin «problemático» eliminado podría seguir afectando a tu base de datos de WordPress, ya que los plugins necesitan acceso completo a la base de datos para funcionar bien. Por lo tanto, deberías comprobar el estado de tu base de datos incluso si parece que la eliminación de un plugin ha hecho desaparecer el error 406. De lo contrario, todavía puede correr el riesgo de ver más problemas en el futuro.

Si un plugin o un tema no es el culpable, también deberías comprobar tu base de datos si es la fuente principal del error. A veces un cambio en la base de datos, ya sea accidental o intencionado, se convierte en la razón principal por la que aparece un error 406.

Para escanear y arreglar su base de datos, considere estas soluciones:

  1. Instala un escáner y limpiador de bases de datos que elimina las tablas y activos inútiles y problemáticos. Algunas opciones incluyen WP Optimize y el Advanced Database Cleaner. Gran parte de este proceso implica la eliminación de los elementos antiguos o huérfanos como los mensajes de basura, las revisiones y los metadatos. Es un primer paso sólido para limpiar tu base de datos y potencialmente eliminar ese error 406.
  2. Escanea la base de datos y busque registros y tablas potencialmente modificados por un plugin problemático o que parezcan fuera de lugar o innecesarios.
  3. Si tienes una idea de qué es lo que falla en tu base de datos, acude a un buscador y busca ayuda en foros y otros debates en línea. Es muy probable que alguien haya experimentado el mismo problema.
Limpia tu base de datos con una herramienta de optimización como WP-Optimize. Fuente de la imagen: WP-Optimize
Limpia tu base de datos con una herramienta de optimización como WP-Optimize. Fuente de la imagen: WP-Optimize

Analiza los registros de su servidor

Las recomendaciones anteriores se centran en la resolución de problemas del lado del cliente y del CMS. Ahora consideraremos todos los problemas del lado del servidor. Este consejo, y los que siguen, son mejores si no estás usando un CMS o sabes que el error 406 no tiene conexión con tu CMS o máquina cliente.

El primer paso para solucionar los problemas del servidor es comprobar los registros. No importa qué tipo de aplicación web, CMS o sistema de diseño web utilices; todos tienen registros del lado del servidor.

Los registros de la aplicación almacenan el historial completo (o reciente) de esa aplicación web, con información sobre cada consulta a la base de datos, los resultados proporcionados, las páginas solicitadas y mucho más. Por otro lado, los registros del servidor contienen información sobre la salud y el estado del servidor o del hardware utilizado para ejecutar la aplicación web.

Los usuarios de Kinsta, puede encontrar los registros de errores y del servidor en el panel de control de MyKinsta. Comprueba todos los registros que puedan estar causando el error 406:

  • El archivo error.log
  • El archivo kinsta-cache-perf.log
  • El archivo access.log
Para ver los tres registros necesarios, haz clic en la pestaña Sitios, elige su sitio, luego el botón Registros, junto con el tipo de registro del menú desplegable.
Para ver los tres registros necesarios, haz clic en la pestaña Sitios, elige su sitio, luego el botón Registros, junto con el tipo de registro del menú desplegable.

También puedes comprobar los archivos de acceso sin procesar y de registro de errores de WordPress con un cliente FTP. Otras opciones son habilitar los registros de error en wp-config.php y pasar por el modo de depuración en el panel de control MyKinsta.

Si tienes problemas para encontrar los registros de errores o no sabe cómo interpretarlos, pónte en contacto con el equipo de atención al cliente de Kinsta para obtener ayuda.

Depurar la aplicación web (como WordPress)

Como la mayoría de las aplicaciones web tienen registros del servidor y de errores, también suelen proporcionar información sobre la depuración de la propia aplicación. La depuración implica recorrer el código de la aplicación para encontrar y eliminar errores menores (o bugs).

Una de las mejores maneras de realizar un análisis completo de WordPress (y de cualquier aplicación web) es depurar la base de datos y los archivos del sitio web. Por suerte, la depuración no significa que tengas que leer cada línea de código y detectar los errores tú mismo. Hay programas disponibles para este propósito específico, y como mencionamos antes, Kinsta incluso tiene su herramienta de depuración dentro del tablero de MyKinsta.

Inicie el proceso de depuración aprendiendo los fundamentos de la depuración de WordPress con el modo de depuración de Kinsta, los plugins de depuración de WordPress o un proceso más manual:

Sitios > Herramientas le lleva a una página para activar la función de modo de depuración de WordPress en el panel de control de Kinsta.
Sitios > Herramientas le lleva a una página para activar la función de modo de depuración de WordPress en el panel de control de Kinsta.

Cómo evitar el error 406 en el futuro

El problema con el error 406 es que puede aparecer en muchas situaciones diferentes. Puede que veas el error «406 Not Acceptable HTTP» mientras navegas por Hulu o Netflix como consumidor habitual.

Eso no es muy agradable, pero nada que un poco de solución de problemas no pueda arreglar. La ocurrencia más preocupante del error 406 es cuando ocurre en tu sitio web o aplicación. Para esos casos, tendrás que comprobar los archivos del servidor y del sitio CMS.

Si se trata de tu sitio web, querrás evitar que el error vuelva a producirse. Los plugins, los temas y el error humano siempre pueden entrar en juego, pero tenemos algunas sugerencias para mantener las bases de datos y los archivos del sitio limpios en el futuro:

  • Instale solo los plugins, temas y extensiones necesarios y de buena reputación. Mantén siempre estos elementos al mínimo.
  • No modifiques nunca los archivos del núcleo de WordPress a menos que sea absolutamente necesario y sepa lo que está haciendo.
  • Ejecuta un limpiador de bases de datos y un optimizador del sitio con regularidad. Recomendamos completar este proceso cada mes e idealmente encontrar un plugin de limpieza que se ejecute automáticamente en segundo plano.
  • Acostúmbrate a depurar tu servidor y tu aplicación web. Como se ha mencionado, Kinsta ofrece una función de Debugging en su panel de control. Muchas otras aplicaciones también tienen este tipo de funcionalidad.
  • Establece copias de seguridad automáticas de tu sitio web o aplicación. De este modo, un conflicto de código o un error no te causará mucho estrés, ya que puede restaurar una versión anterior del sitio web y empezar desde ahí.
  • Realiza una copia de seguridad manual de tu sitio antes de actualizar WordPress y cualquier plugin, incluso si ya realizas copias de seguridad automáticas (más vale prevenir que curar). También es aconsejable realizar copias de seguridad antes de editar cualquier archivo o añadir nuevo código a tu sitio.

Resumen

Puedes solucionar el error 406 de varias maneras. Siempre que sepas lo que estás viendo y dónde buscar la solución, deberías ser capaz de eliminar el error.

Aunque este no es uno de los errores más comunes de WordPress, es uno que verá de vez en cuando si su configuración no es correcta.

¿Tienes alguna otra recomendación para resolver los errores «406 Not Acceptable»? Compártalas en la sección de comentarios más abajo.

Salman Ravoof

Salman Ravoof es desarrollador web autodidacta, escritor, creador y un gran admirador del Software Libre y de Código Abierto (FOSS, Free and Open Source Software). Además de la tecnología, le apasionan la ciencia, la filosofía, la fotografía, las artes, los gatos y la comida. Obtén más información sobre él en su sitio web, y conecta con Salman en X.