Sto cercando di avere un comportamento di base per quanto riguarda la mia strategia di memorizzazione nella cache: i file devono essere memorizzati nella cache e riconvalidati ogni volta con il server. Quindi vorrei che Apache restituisse un 304.
Ecco la finestra di dialogo che si verifica per ogni aggiornamento del browser:
Status Code:200 OK
Request Headers
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
Cache-Control:max-age=0
Connection:keep-alive
Cookie: ...
Host:...
If-Modified-Since:Tue, 14 Oct 2014 15:10:37 GMT
If-None-Match:"1461-505636af08fcd-gzip"
User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36
Response Headers
Accept-Ranges:bytes
Cache-Control:No-cache
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:1412
Content-Type:text/html
Date:Tue, 14 Oct 2014 16:58:05 GMT
ETag:"1461-505636af08fcd-gzip"
Keep-Alive:timeout=5, max=99
Last-Modified:Tue, 14 Oct 2014 15:10:37 GMT
Server:Apache/2.4.6 (Ubuntu)
Vary:Accept-Encoding
(questo è da Chrome Devtools, con Disabilita cache deselezionata)
È possibile notare che la risposta contiene l'intestazione Cache-Control: No-cache e che l'intestazione If-modified-since corrisponde all'ultima modifica. Anche l'ETag corrisponde.
Apache non dovrebbe inviare un 304 in quel caso?
MODIFICARE
Disabilitare ETags in apache con
Header unset ETag
rende il comportamento della cache più prevedibile ...
Cache-Control:max-age=0
disabilitato la cache, quindi vedi laCache-Control:No-cache
risposta.