DevToolPal
ES
3xx Redirección

304 Not Modified

No modificado

Qué significa

La copia en caché que tiene el cliente sigue siendo válida, así que el servidor no envía cuerpo. Responde a una petición condicional con If-None-Match o If-Modified-Since.

Causas habituales

  • El ETag de If-None-Match coincide con la versión actual
  • El recurso no cambió desde If-Modified-Since
  • Un navegador revalida un recurso en caché

Cómo solucionarlo

Si eres el cliente o visitante

Usa el cuerpo en caché. Si el contenido parece desactualizado, el validador puede estar mal; fuerza la recarga o revisa cómo se generan los ETag.

Si administras el sitio o la API

Genera ETag estables (iguales en todos los servidores detrás de un balanceador) y envía las mismas cabeceras de caché que enviarías con un 200.

Respuesta de ejemplo

HTTP/1.1
HTTP/1.1 304 Not Modified
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
ETag: "33a64df5"
Cache-Control: max-age=3600

Especificación

RFC 9110 §15.4.5

Preguntas frecuentes

› ¿304 es un error?

No. Ahorra ancho de banda al indicar al cliente que su caché está al día.

› ¿Por qué los usuarios ven archivos viejos tras un despliegue?

Las cabeceras de caché permiten copias antiguas. Usa nombres de archivo con huella para los recursos y un max-age corto con validación para el HTML.