So che questa domanda viene richiesta più volte. Ma ancora non sono chiaro riguardo al concetto. Dopo aver letto molti blog e risposte a SO quello che ho ottenuto è,Qual è la differenza tra l'intestazione Etag e Expires?
Expiry headers are used when you don’t even want client (and proxies/caches) to make a request to
the server. In ETAG, the client will check with the server for the update, but in expiry
headers, the client will know, when to expire the file and check for an update, till then it
(browsers and proxies/caches) won’t bother server for checking the update.
Quindi, fondamentalmente dire se usiamo scade intestazione/max-age, non sarà nemmeno controllare il server per un file aggiornato. Quindi ho pensato di testarlo localmente.
Così ho creato su semplice file html compresi 2 file js e 1 file immagine. In IIS, ho impostato l'intestazione Expires su 2 giorni per la cartella dell'immagine. Quindi, secondo la mia comprensione, dopo aver ottenuto il file immagine dal server una volta, per la prossima richiesta non dovrebbe inviare una richiesta al server per controllare se il file immagine è stato modificato o meno.
Ma quello che ho ottenuto è che ogni volta che aggiorno la pagina vedo una richiesta inviata al server e il server restituisce uno stato 304 not modified
. Ma secondo le specifiche/blog che ho letto non dovrebbe inviare una richiesta al server.
Qualcuno per favore spiega.