Dovresti usare la direttiva private
. Tieni presente che il contenuto rimarrà disponibile nel browser dell'utente, anche se l'intestazione Expires
è impostata poiché questa intestazione non obbliga necessariamente il browser a eliminarla dopo la data e l'ora impostate in modo da non soddisfare i requisiti di timeout della sessione. Tuttavia, se questo rischio è accettabile, potrebbe essere adatto.
Potresti assicurarti che l'intestazione Last-Modified
sia impostata in modo che il browser sappia se aggiornare il contenuto.
Cache-Control: private
Indicates that all or part of the response message is intended for a single user and MUST NOT be cached by a shared cache, such as a proxy server.
Da RFC2616 sezione 14.9.1
Tratto da questo post .
Tieni presente che no-store
non è adatto se vuoi sicuramente la memorizzazione nella cache nel browser (emme me), anche da RFC:
The purpose of the no-store directive is to prevent the inadvertent
release or retention of sensitive information (for example, on backup
tapes). The no-store directive applies to the entire message, and MAY
be sent either in a response or in a request. If sent in a request, a
cache MUST NOT store any part of either this request or any response
to it. If sent in a response, a cache MUST NOT store any part of
either this response or the request that elicited it. This directive
applies to both non- shared and shared caches. "MUST NOT store" in
this context means that the cache MUST NOT intentionally store the
information in non-volatile storage, and MUST make a best-effort
attempt to remove the information from volatile storage as promptly as
possible after forwarding it.
Tuttavia, dice anche
History buffers MAY store such responses as part of their normal
operation
quindi navigare indietro al contenuto sarà ancora possibile dalla cache, supponendo che non sia stato ancora rimosso per scopi di gestione della memoria.
Anche alcuni browser potrebbero ancora chiedere di nuovo l'intero file , che è un'altra ragione per cui questo potrebbe non essere adatto:
we also do not send an if-modified-since request when validating
'no-store' content in the cache because we are not supposed to have a
copy of it from a HTTP point-of-view.