¿Qué narices es esto?
El código 304 Not Modified es el "no ha cambiado nada, usa lo que ya tienes" de HTTP. Es la estrella del caching inteligente, diseñado para hacer que las páginas carguen al instante sin descargar contenido innecesario. Como el bibliotecario que te dice "ese libro sigue igual, no necesitas una copia nueva".
Este código es pura optimización. Cuando el navegador tiene una versión cacheada de un recurso, pregunta al servidor "¿ha cambiado esto?" con headers como If-Modified-Since o If-None-Match. Si no ha cambiado, el servidor responde con 304 + cero bytes de contenido. El navegador usa su versión local, ahorrando ancho de banda y tiempo de carga.
El 304 aparece típicamente con:
- Imágenes, CSS, JS que no han cambiado
- Páginas con ETags o Last-Modified
- APIs que devuelven los mismos datos
- CDNs optimizando transferencias
- Cualquier recurso con validación de cache
🎯 Dato curioso
El 304 es el único código 3xx que NO es una redirección. Técnicamente es "usar el recurso que ya tienes". Es HTTP diciéndote "ahorra tiempo y datos, genio".
La magia del 304 es que no envía cuerpo de respuesta, solo headers. El servidor hace la validación (fechas, ETags) y si nada cambió, responde prácticamente vacío. Es la diferencia entre descargar 2MB otra vez y confirmar en milisegundos que no necesitas hacerlo.