¿Qué es el código de estado HTTP 304 y cómo solucionarlo?
Un código de estado HTTP es un código de respuesta enviado entre un navegador y un servidor web cada vez que el navegador recibe una petición HTTP. Por ejemplo, cuando introduces una URL para acceder a un sitio web.
Cuando realizas una solicitud en tu navegador, éste enviará una cabecera de petición If-Modified-Since al servidor web. Esta cabecera de petición se envía para saber cuándo se modificó por última vez la página web en cuestión.
A continuación, la cabecera de respuesta Last-Modified especificará cuándo se modificó por última vez la fuente web. Si no hay cambios, el servidor enviará el código de respuesta HTTP 304.
El código de estado HTTP 304 Not Modified significa no modificado. Es decir, la página web que buscaste no ha cambiado desde la última vez que accediste a ella.
Después, el navegador recuperará la versión en caché de la página web en tu almacenamiento local. De este modo, el navegador no tiene que descargar la misma información del servidor del sitio web una y otra vez.
En este artículo te explicaremos detalladamente qué es el código de estado HTTP 304 Not Modified y varios métodos para solucionarlo.
Tabla de Contenidos
¿Qué son los códigos de estado HTTP?
Los códigos de estado HTTP indican el intercambio de información. Te permiten saber si la solicitud que has realizado ha tenido éxito o si ha habido un error.
Existen cinco categorías de códigos de estado HTTP, cada una de las cuales indica un tipo diferente de problema:
- Los códigos de estado 1xx: solicitudes de información
- Los códigos de estado 2xx: solicitudes exitosas
- Los códigos de estado 3xx: redirecciones
- Los códigos de estado 4xx: errores del cliente
- Los códigos de estado 5xx: errores del servidor
Sin embargo, sólo hay algunos de estos códigos que probablemente encontrarás directamente. Si alguna vez te encuentras con alguno de estos códigos de estado de respuesta, significa que debes tomar medidas adicionales para resolver el problema.
Por ejemplo, los códigos de respuesta en los 400s indican errores, como el 403 Forbidden, que significa que no tienes permiso para acceder a un recurso.
Luego están las respuestas 200s como HTTP 200 OK, que comunica el éxito de tu solicitud.
Mientras tanto, los códigos de respuesta en los 300s indican problemas de redireccionamiento, como las redirecciones 301 y 302, utilizadas para redireccionamientos permanentes y temporales.
Las peticiones HTTP 304 pueden mejorar la experiencia del usuario al acelerar la entrega de la página de recursos, especialmente cuando se tiene un número masivo de páginas web.
Éste optimiza la velocidad de experiencia de usuario y minimiza las solicitudes que el servidor tiene que manejar. También ayuda a los motores de búsqueda a rastrear tus páginas de forma más eficiente, ya que no desperdiciarán su presupuesto de rastreo en páginas que no han sido actualizadas desde su última visita.
Sin embargo, también puede bloquear el acceso del visitante a tu contenido.
¿Qué causa el código de estado 304 Not Modified?
Los códigos de estado 304 Not Modified pueden ocurrir tanto en el servidor, como en el lado del cliente. Sin embargo, si un usuario encuentra un código de estado 304 Not Modified en tu sitio, lo más probable es que el error se haya producido por su parte y no hay mucho que puedas hacer para solucionarlo.
Estas son algunas de las causas por las que un usuario puede recibir un código de estado 304 Not Modified:
- Virus: el navegador puede estar infectado por virus o malware, lo que afecta su capacidad de comunicación con los servidores web y de almacenamiento en caché de las páginas web.
- Instalación reciente de software: si un usuario acaba de instalar o desinstalar software en su ordenador, a veces el registro puede corromperse. Esta condición también afecta a la función de comunicación y almacenamiento en caché del navegador.
- Aplicación corrupta: si un usuario tiene alguna aplicación que tenga archivos corruptos relacionados con su navegador, afectará su capacidad para guardar páginas web y actualizar la información.
5 métodos para arreglar el código de estado 304
Hay cinco maneras de arreglar el código de estado 304 Not Modified. Aunque no puedas resolver el problema en el lado del cliente, puedes recomendar posibles soluciones.
1. Borrar la caché del navegador
Puedes empezar borrando todos tus datos de navegación, las cookies y otra información almacenada en la caché.
Al borrar la caché de tu navegador se eliminan todos los datos de tu almacenamiento temporal. Al borrarla de vez en cuando, ahorrarás mucho espacio en el disco y permitirás que funcione más rápido.
Los recursos obsoletos en tu caché también pueden impedirte ver el contenido actualizado del sitio web. Borrarlos te permite adquirir una nueva copia de la información del servidor web del sitio.
Si utilizas Google Chrome, sigue estos pasos para borrar la caché de tu navegador:
- Haz clic en Personalizar y controlar Google Chrome: los tres puntos horizontales de la esquina superior derecha de la ventana.
- Ve a Historial -> Historial.
- Haz clic en Borrar datos de navegación.
- Aparecerá una nueva ventana. Selecciona el Intervalo de tiempo. Si quieres borrar todo, elige Todos.
- Elige lo que quieres borrar: el historial de navegación, las cookies y otros datos del sitio, las imágenes y los archivos en caché.
- Haz clic en el botón Borrar datos.
Si utilizas otro navegador, los pasos para borrar la caché del navegador variarán, pero te ofrecemos una guía paso a paso para diferentes plataformas de escritorio y móviles.
2. Limpiar el DNS
Al igual que los navegadores web, los sistemas operativos también almacenan archivos de caché, pero en la caché del Sistema de Nombres de Dominio (DNS). Éste contiene información sobre tus datos de navegación, incluyendo nombres de host, direcciones IP y registros de recursos.
El almacenamiento en caché de DNS ayuda a cargar las páginas web más rápidamente cuando las vuelves a visitar, disminuyendo la carga del servidor DNS cuando el tráfico es elevado.
Los archivos de caché tienen un periodo de validez, que viene determinado por el valor de Time to Live (TTL). Las cachés DNS válidas pueden responder a cualquier solicitud de contenido sin pasar por un servidor DNS, pero pueden causar errores o problemas de seguridad si están obsoletas o corruptas.
La limpieza periódica de los DNS puede mejorar la seguridad de tu sistema operativo y evitar el seguimiento del comportamiento de búsqueda, lo que dificulta que los hackers puedan predecir tu historial de navegación.
También puedes resolver problemas técnicos, como los problemas de conexión o los códigos de respuesta HTTP 304 Not Modified.
Si utilizas Google Chrome, vacía tus DNS introduciendo chrome://net-internals/#dns en la barra de direcciones.
Se abrirá una página de menú. Haz clic en el botón Clear host cache para borrar la caché del host.
Google Chrome mantiene una caché de DNS separada, por lo que es necesario vaciar el DNS en tu ordenador también.
Limpiar el DNS de tu sistema operativo también es relativamente sencillo. Sigue los siguientes pasos si utilizas Windows (aplica en Windows XP, 7, Vista, 8, 8.1 o 10):
- Haz clic en el botón de Inicio, luego navega a Sistemas de Windows -> Símbolo del sistema.
- Se abrirá la interfaz de línea de comandos. Escribe esta línea de comandos:
ipconfig /flushdns
- Una vez que el proceso sea exitoso, aparecerá un mensaje de confirmación.
También es posible limpiar el DNS en otros sistemas operativos, como Mac y Linux.
3. Comprobar tus instrucciones de redirección en el archivo .htaccess
Si ninguno de los métodos anteriores corrigió el mensaje de error, el problema puede estar en el archivo de configuración de tu servidor. Por ejemplo, tus instrucciones de redirección pueden ser incorrectas.
Para comprobar el archivo de configuración de tu servidor, necesitas saber si tu servidor funciona con Nginx o Apache.
Si utilizas Nginx, no tienes acceso al archivo .htaccess. Comprueba los registros de errores para ver qué necesitas para solucionar el problema.
Con Apache, comprueba el archivo .htaccess en el directorio raíz de tu sitio web. Inicia sesión en el administrador de archivos de tu cuenta de alojamiento y luego navega hasta la carpeta public_html.
Desactiva el .htaccess renombrándolo como .htaccess_disabled. Comprueba la disponibilidad del sitio y el código de estado 304 Not Modified mientras el .htaccess está deshabilitado. Vuelve a nombrarlo como .htaccess para habilitarlo de nuevo.
Si este método resuelve el código de error, comprueba el código en el .htaccess con tu desarrollador. Además, busca una configuración de redireccionamiento incorrecta, la cual difiere en cada sitio web.
4. Ejecutar un análisis de malware
Otra posible causa del estado HTTP 304 Not Modified es un navegador infectado por un virus o malware.
Estas amenazas pueden interrumpir o interferir con tu sistema, incluyendo la solicitud de cabecera. Para identificar y eliminar las amenazas de tu sistema, ejecuta un análisis de malware.
Si utilizas Google Chrome en Windows, ejecuta el escáner de malware y la herramienta de limpieza incorporados.
Primero, comprueba si tu Chrome está actualizado. Haz clic en los tres puntos verticales de la parte superior derecha de la ventana de Chrome y luego ve a Configuración -> Acerca de Chrome.
Si no estás utilizando la versión actual de Chrome, actualízala haciendo clic en el botón de Actualizar.
Ahora que has actualizado Chrome, abre una nueva pestaña e introduce chrome://settings/cleanup en la barra de URL. Haz clic en Buscar.
Inmediatamente escaneará tu ordenador y te proporcionará el informe de resultados.
Otros navegadores como Mozilla Firefox y Microsoft Edge no tienen un escáner de malware incorporado. Lo mismo ocurre con otros sistemas operativos como Mac y Linux.
Si utilizas estos navegadores o sistemas operativos, ejecuta el análisis de malware con el software antivirus de tu ordenador.
5. Desactivar las extensiones del navegador
Las extensiones del navegador infectadas también pueden interferir con las solicitudes y la comunicación con el servidor, provocando el código de estado HTTP 304 Not Modified.
Desactiva las extensiones de tu navegador para resolver este problema. Los pasos varían para cada navegador, así que aquí hay una guía para los cuatro navegadores más importantes: Google Chrome, Mozilla Firefox, Safari y Microsoft Edge.
Chrome
Ve a Configuración -> Extensiones. En la página de extensiones, desactiva cada extensión haciendo clic en sus interruptores de palanca.
Haz clic en el botón Eliminar si deseas borrar las extensiones que no se utilizan o que están obsoletas.
Mozilla Firefox
- Haz clic en el icono del menú Abrir en la parte superior derecha de tu ventana de Mozilla Firefox y luego selecciona Complementos y temas.
- En la pestaña del Administrador de complementos, selecciona Plugins.
- Elige los plugins que deseas desactivar seleccionando Nunca activar en el menú desplegable.
- Si deseas volver a activar el plugin, haz clic en la lista de plugins deshabilitados y selecciona Siempre activar en el menú desplegable.
Safari
- En Safari, abre el menú y selecciona Preferencias.
- Haz clic en el icono de las Extensiones.
- Desmarca la casilla de una extensión para desactivarla.
- Si ya no necesitas una extensión, es mejor desinstalarla. Para ello, haz clic en el botón Desinstalar.
Microsoft Edge
Haz clic en la esquina superior derecha de la ventana de Microsoft Edge y selecciona Extensiones.
Haz clic en el interruptor de la extensión para desactivarla. Se borrará el icono de la extensión junto a la barra de direcciones.
Te recomendamos reiniciar tu navegador una vez que hayas terminado de desactivar las extensiones para obtener mejores resultados. Después, comprueba la URL que querías visitar inicialmente. Verifica si todavía tiene el código de estado HTTP 304 Not Modified.
Si el problema está resuelto, es seguro volver a habilitar las extensiones una por una.
Conclusión
Si te encuentras con el código de estado HTTP 304 Not Modified al acceder a un sitio web, significa que tu navegador y el servidor web han experimentado un problema de comunicación.
Éste código de estado puede aparecer tanto en tu lado, como en el de tus visitantes y podría bloquear el acceso a tu contenido.
El código de estado HTTP 304 Not Modified indica que no es necesario retransmitir los recursos solicitados. En su lugar se redirigirá al contenido en caché.
Sin embargo, el código de estado 304 también puede indicar que tu navegador o servidor no están configurados correctamente, causando problemas en la comunicación entre ambos.
Hay cinco métodos que puedes seguir para solucionar este problema:
- Borrar la caché del navegador
- Limpiar el DNS
- Comprobar las instrucciones de redirección en .htaccess
- Ejecutar un escaneo de malware
- Desactivar las extensiones del navegador
Después de llevar a cabo cada método, asegúrate de volver a comprobarlo todo reiniciando el navegador.
Ten en cuenta que no es posible solucionar el código de estado HTTP 304 no modificado por parte de tu visitante, pero podrás proporcionarle un recurso para solucionar los códigos de error.