Wiem, że to pytanie jest zadawane wiele razy. Ale nadal nie mam jasności co do tej koncepcji. Po przeczytaniu wielu blogów i odpowiedzi w SO co mam to,Jaka jest różnica między nagłówkiem Etag i 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.
Więc w zasadzie to powiedzieć, jeśli używamy wygasa nagłówek/max-age, nie będzie nawet sprawdzić na serwerze dla zaktualizowanego pliku. Pomyślałem, że przetestuję to lokalnie.
Stworzyłem więc prosty plik HTML zawierający 2 pliki js i 1 plik obrazu. W IIS ustawiłem nagłówek Expires na 2 dni dla folderu obrazu. Tak jak na moje rozumowanie, po otrzymaniu pliku obrazu z serwera raz, dla następnego żądania nie powinien wysyłać żądania do serwera, aby sprawdzić, czy plik obrazu jest zmodyfikowany, czy nie.
Ale za każdym razem, gdy odświeżam stronę, widzę żądanie wysłane na serwer, a serwer zwraca status 304 not modified
. Ale zgodnie ze specyfikacjami/blogami, które przeczytałem, nie powinien wysyłać żądania do serwera.
Ktoś proszę wyjaśnić.