¿Cuál es la diferencia entre las directivas de control de caché: sin caché y sin almacenamiento?
La directiva no-cache en una respuesta indica que la respuesta no debe usarse para atender una solicitud posterior, es decir, la caché no debe mostrar una respuesta que tenga esta directiva establecida en el encabezado, pero debe permitir que el servidor atienda la solicitud. La directiva no-cache puede incluir algunos nombres de campo; en cuyo caso la respuesta se puede mostrar desde la caché, excepto para los nombres de campo especificados que deben ser servidos desde el servidor. La directiva de no almacenar se aplica a todo el mensaje e indica que la caché no debe almacenar ninguna parte de la respuesta o cualquier solicitud que la solicite.
¿Estoy totalmente seguro con estas directivas?
No. Pero en general, use Cache-Control: no-cache, no-store y Pragma: no-cache, además de Expires: 0 (o una fecha GMT suficientemente retroactiva como la época UNIX). Los tipos de contenido que no son HTML como pdf, documentos de Word, hojas de cálculo de Excel, etc., a menudo se almacenan en caché incluso cuando se establecen las directivas de control de caché anteriores (aunque esto varía según la versión y el uso adicional de must-revalidate, pre-check = 0, post-check = 0, max-age = 0 y s-maxage = 0 en la práctica a veces pueden resultar en al menos la eliminación de archivos al cerrar el navegador en algunos casos debido a peculiaridades del navegador e implementaciones HTTP). Además, la función 'Autocompletar' permite que un navegador almacene en caché lo que el usuario escriba en un campo de entrada de un formulario. Para comprobar esto, la etiqueta de formulario o las etiquetas de entrada individuales deben incluir el atributo 'Autocomplete = "Off"'. Sin embargo,
no-cache
no significa lo que crees que hace. En realidad, significa "por favor, vuelva a validar".