TrueURL
TrueURL

Menú

304 Not Modified

Respuesta a un GET o HEAD condicional: la copia en caché del cliente sigue siendo válida, así que el servidor no envía cuerpo y se reutiliza esa copia.

Frase de motivo
Not Modified
Redirección
No
Almacenable en caché por defecto
No

304 Not Modified responde a una solicitud GET o HEAD condicional, es decir, con If-None-Match o If-Modified-Since, cuando la condición muestra que la copia almacenada del cliente sigue vigente. En lugar de enviar de nuevo el recurso, el servidor responde 304 y el cliente usa su copia en caché. Así se ahorran ancho de banda y tiempo.

Un 304 nunca tiene cuerpo; termina con la línea vacía que sigue a los encabezados. El servidor debe enviar aquellos de los encabezados Cache-Control, Content-Location, Date, ETag, Expires y Vary que habría incluido un 200, para que las cachés puedan actualizar la respuesta almacenada.

Aunque el 304 está en el rango 3xx, no es una redirección. No hay Location y el cliente se queda en la misma URL. Un cliente que recibe un 304 sin haber enviado una solicitud condicional está hablando con un servidor defectuoso.

Ejemplo de respuesta

HTTP
HTTP/1.1 304 Not Modified
Date: Fri, 06 Nov 2026 10:15:32 GMT
ETag: "5f2b-1a3c"
Last-Modified: Wed, 28 Oct 2026 08:02:11 GMT
Cache-Control: public, max-age=600
Vary: Accept-Encoding

SEO y verificación de redirecciones

El 304 ayuda al rastreo. Los rastreadores de Google admiten solicitudes condicionales, y un 304 le indica a Googlebot que el contenido no ha cambiado desde el último rastreo. Así se ahorran capacidad de rastreo y carga del servidor mientras la página conserva su lugar en el índice, por lo que vale la pena tener encabezados ETag o Last-Modified fiables, sobre todo en sitios grandes.

TrueURL no envía encabezados condicionales por defecto, así que verás 200 en lugar de 304. Para probar la revalidación, agrega un encabezado If-None-Match con el ETag de la página en Encabezados de solicitud personalizados.

Causas frecuentes y casos de uso

  • Un navegador revalida una página, una imagen o un script en caché con If-None-Match, y el ETag sigue coincidiendo.
  • Un rastreador o un lector de feeds vuelve a solicitar el recurso con If-Modified-Since y nada ha cambiado.
  • Los visitantes ven contenido desactualizado después de un despliegue porque el servidor sigue respondiendo 304: sus validadores no cambiaron, por ejemplo un ETag basado en el tamaño y la fecha de modificación del archivo que el despliegue conservó. Asegúrate de que los validadores cambien siempre que cambie el contenido.

Verificador de redirecciones de URL

Consulta todos los códigos de estado que devuelve una URL, salto a salto, con el verificador de redirecciones gratuito de TrueURL.