Error 408: cómo solucionar un Request Timeout
Si queremos visitar un sitio web en Internet, esta página tiene que cargarse en el navegador. La transferencia, que por defecto se realiza vía TCP, se basa en el protocolo sin estado HTTP (Hypertext Transfer Protocol), que describe el intercambio inicial de mensajes entre el servidor web y el navegador. Según el clásico principio cliente-servidor, el navegador responde en forma de petición HTTP y, luego, el servidor envía una respuesta que incluye un código de estado.
Aunque, como usuario, es probable que no percibas que esta comunicación se está produciendo, los códigos de error HTTP funcionan de forma diferente: si hay un problema durante el intercambio, en el navegador a menudo se muestran los códigos correspondientes de las series 4xx y 5xx, que hacen referencia a varias fuentes de error del lado del cliente o del servidor. Por ejemplo, el mensaje HTTP 408 nos indica que la petición del cliente ha superado el tiempo de espera. En esta guía te explicamos por qué se produce exactamente ese timeout y qué puedes hacer para solucionar este problema.
¿Qué significa el error 408?
El error HTTP 408, al igual que el resto de errores de la serie 4xxx, es uno de los mensajes que indican que existe un problema del lado del cliente. Si ahondamos en las causas de este mensaje de error, queda claro que no se debe, necesariamente, a un fallo del navegador. El error 408 guarda relación con la información “Request Timeout”, que significa, en términos sencillos, que la petición enviada por el cliente al servidor web ha superado el tiempo de espera permitido por dicho servidor. En consecuencia, en vez de producirse una respuesta, el navegador recibe el mensaje de error code 408. Por supuesto, esto puede deberse a problemas con tu conexión a Internet, pero no debes descartar la posibilidad de que se haya debido a una sobrecarga o a un error de configuración del servidor web.
Algunas posibles causas del mensaje de error 408: Request Timeout
Aunque existen más de 50 códigos de estado HTTP diferentes y más de la mitad de ellos sirven para identificar mensajes de error, esta información es normalmente una orientación general que nos ayuda a la hora de resolver el problema. Esto también se aplica al error code 408, que nos indica que, considerando un intervalo de tiempo fijo desde que se estableció la conexión TCP/IP, se ha superado el tiempo de espera sin que se produzca transferencia de datos a través de dicha conexión. Como ocurre a menudo, existen varias causas posibles que explican este retraso y, en consecuencia, también los mensajes de error. A continuación, te explicamos algunas de ellas:
- Problemas de ancho de banda y fallos de conexión: muchas veces los mensajes HTTP 408 se reciben debido a que existen problemas con la conexión a Internet. Por ejemplo, cuando el ancho de banda es tan bajo que la petición HTTP no puede completarse en el intervalo de tiempo definido. Otra posibilidad es que se haya producido una interrupción temporal en la conexión a Internet tras haber establecido la conexión TCP/IP con el servidor y, por lo tanto, los datos de la petición no hayan podido enviarse en parte o por completo.
- Dirección URL incorrecta o inaccesible: no todas las URL de un proyecto web están disponibles para todos los visitantes y algunas están encriptadas. Si, accidentalmente, envías una petición a una página para la que no tienes autorización o si intentas enviar una petición a una página HTTPS sin tener SSL/TLS activado es posible que se produzca un error 408 de tiempo de espera superado. Además, muchas URL tienen restricciones con respecto a los métodos de petición HTTP permitidos (GET, POST, HEAD, PUT, etc.), de modo que el tiempo de espera puede superarse debido a que un método se ha implementado mal. No obstante, en estos dos casos aparecerán mensajes estándar que indican el problema (“403: Forbidden” para intentos de acceso denegados o prohibidos y “405: Method Not Allowed” cuando el destino no admite el método HTTP solicitado).
- Configuración incorrecta del servidor web: con independencia del software de servidor web que estemos utilizando, el responsable del proyecto web tiene que especificar en un archivo de configuración específico cuántos segundos deben transcurrir antes de que la petición HTTP se rechace. Existen valores separados para el encabezado y el cuerpo de los mensajes HTTP. Cuando el servidor elige un intervalo de tiempo demasiado bajo para procesar uno de los componentes del paquete o los dos, es posible que se produzca un error 408 en las páginas de usuario.
- Plugins, extensiones, módulos y otros componentes: un problema que puede encontrarse tanto del lado del cliente como del lado del servidor es el uso de extensiones defectuosas u obsoletas. Es decir, tanto los plugins del navegador que el visitante del sitio web utiliza, como los módulos CMS que utiliza el desarrollador pueden ser los causantes del tiempo de espera HTTP y los que provocan el error code 408.
HTTP 408: cómo solucionar el error 408 como usuario del navegador
Si te aparece el mensaje “408: Request Timeout” al visitar un sitio web, querrás, como es lógico, encontrar la solución más rápida posible al problema. No siempre vas a poder solucionarlo por tu cuenta, pero si el problema se encuentra exclusivamente del lado del cliente es más que probable que puedas reparar el error 408 siguiendo una de las siguientes soluciones.
Solución 1: comprobar la dirección
Antes de indagar en el proceso de resolución de problemas, lo primero que deberás hacer es comprobar el URL introducido para acceder a una página o recurso web concreto. Es posible que hayas introducido una dirección para la que no dispongas de acceso o que ya no esté disponible. Esto suele ocurrir cuando la petición a una web se realiza a través de marcadores que hemos creado en el pasado. Si, en ese tiempo, el webmaster a cargo del proyecto web ha realizado cambios en las autorizaciones o en los métodos de petición permitidos o si, por ejemplo, ha cambiado la dirección a HTTPS, el enlace guardado no nos va a dirigir hasta el destino como ocurría antes. En cambio, en nuestra pantalla aparecerá un mensaje de error HTTP 408 u otro similar. Comprueba que la dirección introducida es correcta y está actualizada para poder descartar esta fuente de error.
Solución 2: comprobar la conexión a Internet y reiniciar el rúter
Los problemas con la conexión a Internet siempre suponen un quebradero de cabeza. A veces, la conexión no funciona en absoluto y el acceso a la web directamente no se produce. Aunque, inevitablemente, nos damos cuenta de este tipo de fallos que nos dejan sin conexión, en otros casos no percibimos los momentos en que hay fluctuaciones o cortes temporales en la conexión. A menudo y por este motivo, atribuimos enseguida y de forma incorrecta la lentitud de carga o los mensajes de error (como es el caso del error 408) al sitio web al que enviamos la petición. Para evitarlo, aconsejamos en primer lugar comprobar nuestra propia conexión de red. Para ello podemos visitar otros sitios web o hacer una prueba de velocidad ADSL.
Si descubres que existen dificultades técnicas en el acceso, deberás reiniciar tu enrutador. Si el problema de conexión continúa, lo más sensato es que te pongas en contacto con tu proveedor de servicios de Internet.
Solución 3: desactivar extensiones del navegador
Gracias a los plugins, addons y extensiones, podemos ampliar las funciones de los navegadores con tan solo unos clics. Sin embargo, estas prácticas ampliaciones no siempre tienen el funcionamiento deseado y, en el peor de los casos, pueden llegar a empeorar la experiencia de navegación y ser la causa por la que aparecen mensajes de error como el HTTP 408. El motivo puede deberse a que la extensión esté desactualizada y/o ya no sea compatible con la versión actual del navegador, por el hecho de no recibir mantenimiento por parte del desarrollador. Para comprobar si el error de timeout se debe a una o a varias extensiones, lo mejor es deshabilitarlas por completo temporalmente. Una vez solucionado el problema, puedes volver a activar los plugins uno a uno para detectar cuál es el responsable del mensaje de error HTTP.
Solución 4: abrir el proyecto web tras un intervalo de tiempo
No siempre resulta posible reparar el error 408: Request Timeout aplicando las soluciones enumeradas anteriormente. Este es el caso, por ejemplo, de los errores ocasionados por problemas prolongados de conexión a Internet. En dicho caso, te recomendamos que dejes pasar un tiempo prudencial y vuelvas a ello más tarde. Si el intercambio HTTP sigue fallando, lo más probable es que la causa del error se encuentre del lado del servidor web. Si dispones de los datos de contacto del webmaster encargado de la web, podrás preguntarle si ha detectado cuál es el problema y cuándo está previsto que la página vuelva a estar disponible como de costumbre.
Cómo solucionar el error HTTP 408 si eres un webmaster
El problema HTTP de tiempo de espera superado es molesto, sobre todo para los visitantes, porque no pueden abrir la página en el momento oportuno, pero, para un webmaster, su alcance puede tomar dimensiones mucho mayores. Si un gran número de usuarios recibe el mensaje de error durante un periodo de tiempo prolongado, no solo se traducirá en un impacto negativo sobre el tráfico, sino que acabará afectando rápidamente a la reputación de la aplicación web. Además, existe el peligro de que la página acabe siendo penalizada por los motores de búsqueda cuando errores como el HTTP 408 se producen con mucha frecuencia o tardan demasiado en solucionarse. Así que, si eres el responsable de un proyecto web, es necesario que tomes medidas inmediatas cuando detectes un error de tiempo de espera superado.
Solución 1: comprobar la configuración del servidor web
Una configuración incorrecta es una de las causas más comunes por las que aparecen códigos de error HTTP como el 408: Request Timeout del lado del servidor. Por eso, lo primero que deberías comprobar es el archivo de configuración de Apache (httpd.conf; apache2.conf), NGINX (nginx.conf), etc. En la configuración del servidor web de Apache, por ejemplo, encontrarás las directivas “KeepAliveTimeout” y “RequestReadTimeout”, a las que deberás prestar especial atención. Las dos sirven para limitar el tiempo que un cliente tarda en enviar una petición HTTP. Este intervalo de tiempo puede ser demasiado bajo (se recomienda dar de 15 a 30 segundos). Si tu proyecto web está alojado en un servidor NGINX, deberás tener en cuenta las directivas “keepalive_timeout”, “client_body_timeout” y “client_header_timeout”. Recuerda guardar los cambios de todos los archivos de configuración antes de reiniciar el servidor web para solucionar el error HTTP 408 de forma definitiva.
Solución 2: revisar los registros del servidor y reajustar las páginas problemáticas
Como hemos mencionado anteriormente, el error 408 solo aparece en páginas concretas de un proyecto web debido a que estas contienen errores de configuración relacionados con los derechos de acceso y los métodos HTTP permitidos. Por ello, si descubres un mensaje de tiempo de espera superado, te recomendamos que compruebes cuáles son exactamente los URL que están ocasionando este error HTTP. Al hacerlo, y para evitar tener que visitar manualmente cada una de las páginas, lo que tienes que hacer es consultar el archivo de registro de errores de tu servidor web, donde se archivan de forma automática todos los errores HTTP. Una vez hayas localizado las páginas problemáticas, puedes buscar concretamente cuáles han sido las causas que han ocasionado el timeout y, cuando sea necesario, podrás realizar las modificaciones sobre los métodos y los derechos de acceso.
Normalmente, también puedes consultar los registros de errores de tu servidor web al alojar tu proyecto con un proveedor de hosting web. Para hacerlo, deberás acceder a tu cuenta de cliente, donde, entre otras cosas, encontrarás un apartado con las estadísticas del servidor, desde donde podrás descargarte los registros del servidor. En caso de que no lo consigas, puedes dirigirte al apartado FAQ o ponerte en contacto con el equipo de atención al cliente del proveedor.
Solución 3: desactivar módulos, plantillas y plugins obsoletos o defectuosos del CMS
Los sistemas de gestión de contenidos son muy populares y se suelen utilizar como esqueleto de muchos proyectos web. Uno de los principales beneficios de estas plataformas es su gran capacidad de ampliación a través de módulos, plantillas y plugins que aportan nuevas funcionalidades, diseños y temas. Estas extensiones, y sus equivalentes del lado del cliente, pueden ocasionar el error 408 request timeout. Dentro de la infinidad de módulos addon y plugins disponibles, no dejan de aparecer empresas que prometen un enorme valor añadido para el proyecto pero que, a la hora de la verdad, no ofrecen los resultados esperados o cuyas aplicaciones dejan de seguir desarrollándose a partir de un determinado momento. Esto sucede con especial frecuencia en el caso de las extensiones de terceros que, a veces, ocasionan problemas cuando sale una nueva versión del CMS. La solución más sencilla es la de desactivar los plugins problemáticos (y, cuando sea necesario, también los módulos).
Aunque todos los módulos y los plugins estén funcionando correctamente, las extensiones pueden ocasionar errores como el error code 408. De hecho, utilizar demasiadas extensiones en tu CMS puede afectar negativamente el funcionamiento de tu proyecto web, así que comprueba cada cierto tiempo que has deshabilitado las funciones y componentes de diseño que ya no te resulten necesarios para evitar que se den esas circunstancias.
Solución 4: revisar y reparar el código
No hay duda de que el error no tiene por qué proceder de una fuente externa en todos los casos. Es más, puede estar escondido dentro de tu propio código. Si tienes que solucionar el código de error 408 y no has dado con ninguna solución al revisar el archivo de configuración del servidor web ni al comprobar el sistema de gestión de contenidos, entonces te recomendamos que también eches un vistazo a la estructura HTML, así como a los snippets de CSS y scripts incorporados (JavaScript, PHP, etc.). No te lo pienses y realiza un proceso de depuración completo utilizando el software necesario si no consigues solucionar el problema de timeout de otra forma. De esta manera, podrás detectar y reparar de forma eficiente el código defectuoso.
Solución 5: aumentar los recursos del servidor
Cuantas más peticiones HTTP lleguen al servidor web, más recursos consumirá a la hora de procesarlas. Si la potencia de procesamiento disponible no es suficiente para hacer frente al tráfico entrante, es común que aparezcan mensajes de error como el 408: Request Timeout. En este caso, si tu presupuesto te lo permite, sería conveniente ir pensando en aumentar la potencia de procesamiento y la capacidad de almacenamiento.
Si el funcionamiento del servidor sigue siendo deficiente a pesar de disponer de suficientes recursos, puede ser un síntoma de que tu proveedor de servicios de hosting está experimentando problemas técnicos. Cuando se da esta situación, el error HTTP 408 tampoco se resolverá añadiendo más componentes de servicio. Tu única opción será ponerte en contacto directamente con tu proveedor para que pueda darte información detallada e instrucciones para solucionar el problema.