Como se ha identificado, sin -caché no significa que nunca haya almacenamiento en caché, sino que el agente de usuario siempre debe preguntar al servidor si está bien usar lo que almacena en caché. Por el contrario, no-store dice que ni siquiera guarda una copia, lo que significa que no hay nada sobre lo que preguntar. Si conoce la respuesta a "¿Puedo reutilizar esto?" siempre es no, obtienes un aumento de rendimiento al (1) omitir la sobrecarga de las preguntas y (2) no desechar ningún resultado almacenado posiblemente reutilizable para dejar espacio para el nuevo resultado que nunca se reutilizará.
Aparte del rendimiento, existe una diferencia de comportamiento con historial del navegador. La sección de especificaciones HTTP 1.1 13.13 dice que "el tiempo de caducidad no se aplica a los mecanismos de historial". El encabezado sin memoria caché describe la caducidad y, por lo tanto, no se aplica a los mecanismos de historial, como el botón Atrás. Por lo tanto, el usuario puede navegar hacia atrás a una página anterior sin caché sin que se contacte al servidor.
El encabezado sin tienda, por otro lado, impide que los datos se almacenen fuera de una sesión, en cuyo caso simplemente no está disponible para que lo use un mecanismo de historial. Sin tienda, si el usuario finaliza su sesión navegando a otro dominio y luego regresa, la única forma de que el navegador sepa qué mostrar es volver a obtener la página inicial del servidor.
Así es como un Chromium issue sobre este tema hace la distinción:
no-cache no significa "no almacenar en caché este" (que sería no-store). no-cache significa que no use esto para cargas normales a menos que el recurso se revalide por frescura. Las navegaciones de historial no son cargas normales.
y si la respuesta en caché no tiene 'Last-Modified' ni' ETag'? – vtortola
Creo que en este caso la respuesta no se almacenará en caché. –
Así interpreto RFC. (Fragmento agregado) –