Hostwinds Blog
Resultados de búsqueda para:
¿Cuál es la respuesta 304 no modificada?
El código de estado HTTP 304 no modificado es un código de redirección que indica que el recurso solicitado no ha sido alterado desde la última solicitud.
En términos simples, el servidor le dice al navegador que la página/recurso que solicita no se ha actualizado/cambiado desde la última visita del navegador.Entonces, en lugar de volver a alentar y volver a descargar la página/recurso, que toma tiempo y consume ancho de banda, se le dice al navegador que puede mostrar la página/recurso existente almacenado en su caché.
Para que un servidor responda con un código de estado 304, debe saber si el recurso almacenado en el caché del navegador es la misma versión almacenada en su base de datos.
Así es como funciona eso:
Cuando un navegador visita una página web por primera vez, solicita recursos almacenados por el servidor web del sitio.
El servidor web responde a la solicitud con un código HTTP de 200 OK y envía los recursos al navegador.Se incluye en esa respuesta, dentro del encabezado HTTP, se encuentra un código hash o ETAG (etiqueta de entidad): un identificador único, típicamente una serie de números, que cambia cada vez que un sitio web/página/recurso se modifica o actualiza.
Junto con el almacenamiento en caché del contenido de la página web, el navegador también registra la hora/fecha de su solicitud.
Al revisar la misma página web, el navegador inicia una solicitud HTTP condicional, diciéndole al servidor web que solo bajo ciertas condiciones debe reunir los recursos de la página web de la base de datos del servidor y enviarla para que el navegador la descargue.
Hay dos encabezados HTTP básicos utilizados para solicitudes condicionales, cada uno que contiene información sobre la versión de la página web actualmente almacenada en el caché del navegador:
"Si-modificado-since" contiene la fecha/hora en que el navegador solicitó la página web por última vez.
"If-None-Match" contiene el ETAG (código hash).
El servidor web tomará la solicitud condicional y comparará la información del encabezado HTTP con la información en su base de datos, devolviendo 200 OK o 304 no modificado.
Cuando se encuentra "si-modificado-since" en el encabezado HTTP, el servidor web comparará la fecha/hora en que la página web se actualizó al final hasta la fecha/hora que el navegador almacenó en caché.
Cuando se encuentra "If-None-Match" en el encabezado HTTP, el servidor web verá si el ETAG de la página web en su base de datos coincide con el ETAG de la versión en caché del navegador de la página web.
Cuando ambos encabezados se están utilizando para la verificación, "if-none-coath" tendrá prioridad sobre "si modifica, síndico".
Si la información del servidor web coincide con la información del encabezado, el servidor web responderá con un código HTTP 304 no modificado, diciéndole al navegador que muestre la versión en caché de la página web.Si la información no coincide, el servidor recuperará la página web actualizada y la enviará al navegador donde se descargará y almacenará en caché para una solicitud HTTP condicional futura.
El valor del código HTTP 304 realmente depende del tamaño del sitio web.
Para sitios web grandes (decenas de miles de páginas), el código de respuesta 304 puede ayudar a reducir el uso de ancho de banda y aumentar la velocidad del sitio para una mejor experiencia del usuario.También podría ayudar con el SEO liberando el presupuesto de rastreo y potencialmente permitir una indexación más rápida: los bots de los motores de búsqueda no suelen ser las páginas de reclace que saben que no se han cambiado, lo que les permite encontrar y rastrear páginas nuevas y/o actualizadas más rápido.
Los sitios más pequeños también podrían beneficiarse de las competencias de almacenamiento en caché del código HTTP 304, pero las ventajas son bastante insignificantes.
Dicho esto, los sitios pequeños pueden experimentar cantidades excesivas de tráfico, consumiendo rápidamente el ancho de banda, en cuyo caso el código 304 podría ser potencialmente beneficioso.Sin embargo, hay formas mucho mejores de mitigar este problema.
El código de estado 304 es un gran activo para optimizar el rendimiento web y guardar el ancho de banda a través de la evitación de transferencias de datos redundantes.
Hay algunos que lo comparan con un código de error (4xx o 5xx) pero no lo es.Es un código de redirección utilizado por los navegadores (clientes) y los servidores para comunicar y ejecutar una acción.
Dicho esto, puede haber situaciones en las que la comunicación entre el cliente y el servidor se interrumpe o se rompe.Llamemos a este problema un 304 obsoleto.
Si un usuario se encuentra constantemente con un código de estado 304 no modificado de un sitio que frecuenta, podría indicar un problema con el navegador en que no puede ejecutar correctamente la solicitud HTTP condicional y descargar el contenido actualizado.
Este problema generalmente proviene de fuentes externas conectadas al navegador, como archivos corruptos en aplicaciones basadas en navegador, archivos dañados en software recientemente descargado y virus o malware.
Cualquiera de estas fuentes podría corromper el caché del navegador y/o afectar la forma en que el navegador se comunica con el servidor web.
Un 304 obsoleto puede deberse a un problema con la configuración de redirección del servidor web.
La configuración de redirección son directivas que se encuentran en el sistema de archivos .htaccess que usan los códigos de estado 3xx para controlar cómo se dirige o redirige el tráfico web en un sitio.
Las directivas de código de estado 304 configuradas de manera incorrecta podrían conducir a la entrega de contenido obsoleto, el uso ineficiente de los recursos del servidor o incluso problemas de compatibilidad del navegador.
Afortunadamente, hay acciones que se pueden tomar para resolver o incluso evitar un 304 obsoleto.
El método más común y efectivo es eliminar todo el historial de navegación, cookies y cualquier otro datos en caché.
Se eliminan todas las páginas web previamente almacenadas y los sitios web ya no almacenan datos del navegador.Cuando un usuario visita un sitio, es como si estuviera visitando por primera vez y ahora tiene una nueva copia del sitio.
DNS Cache funciona de la misma manera de almacenar datos como el caché del navegador, pero en el sistema operativo.También contiene datos de navegación, junto con direcciones IP, nombres de host y registros de recursos.
Los datos almacenados adicionales permiten que las páginas web se carguen más rápido ya que el navegador no necesita pasar por todo el proceso del sistema de nombres de dominio.
Y al igual que la caché del navegador de limpieza, el caché DNS enjuague básicamente restablece la experiencia de navegación en la web, permitiendo a los usuarios (navegadores) recopilar contenido en caché fresco.
Los navegadores infectados con malware o virus corrompen los archivos de caché del navegador e interrumpen la comunicación con los servidores web.
Ejecutar un escaneo de virus y malware puede ayudar a identificar y eliminar la amenaza, lo que permite que el navegador reanude las operaciones normales.
A todos nos encantan una buena extensión del navegador, pero algunas extensiones pueden contener archivos corruptos que se abren paso en el caché del navegador, afectando cómo los encabezados HTTP se comunican con los del servidor web.
Revisar extensiones y deshabilitarlas o eliminarlas una por una puede ayudar a identificar al culpable.
En el lado del servidor tenemos el .htaccess. Este es un archivo de configuración del servidor que controla el comportamiento de un sitio web en el nivel de directorio, incluida cómo manejar los códigos de estado 304.
Revisar las instrucciones de redirección en el archivo puede mostrar un problema con cómo el servidor web está comunicando 304 códigos de estado a los navegadores.
El código de estado HTTP 304 no modificado está diseñado para ayudar a optimizar la comunicación entre clientes (navegadores) y servidores, y cuando trabaja correctamente ayuda a optimizar el rendimiento web y guardar el ancho de banda.
Sin embargo, si no está configurado correctamente o corrompido por fuerzas externas, el estado 304 podría crear un problema de contenido obsoleto, afectando la experiencia del usuario y las clasificaciones de los motores de búsqueda.
Al final del día, tenemos una serie de soluciones que pueden ayudar a resolver o con suerte evitar los efectos negativos del código de estado 304.
Recuerde, el código de estado HTTP 304 no es un error.
¡Feliz alojamiento!
Escrito por Hostwinds / enero 6, 2024