Jak rozumiem, w ten sposób działa buforowanie przeglądarki. Zakładając, że przyszły nagłówek został ustawiony na rok, a foo.js jest buforowany. Oto kilka scenariuszy:Czy możesz wymusić na przeglądarce, aby zawsze pobierać buforowane pliki i nie robić podróży w obie strony dla 304?
Pierwsza wizyta na stronie, serwer zwraca 200, a foo.js jest buforowany przez rok.
Następna wizyta, przeglądarka sprawdza pamięć podręczną, ale musi sprawdzić serwer, czy plik foo.js został zmodyfikowany. Jeśli nie, serwer zwraca wartość 304 - Nie zmodyfikowano.
Użytkownik jest już na stronie (i foo.js jest w pamięci podręcznej) klika łącze, aby przejść do innej strony, przeglądarka przegląda buforowaną wersję pliku foo.js i wyświetla ją bez wykonywania objazdu na serwer i zwraca wartość 200 (buforowany).
Użytkownik jest już na stronie (a foo.js jest w pamięci podręcznej) i z jakiegoś powodu uderza F5/Załaduj ponownie, przeglądarka sprawdza pamięć podręczną, ale musi odbyć podróż do serwera i sprawdzić, czy plik foo.js ma zostało zmodyfikowane. Jeśli nie, serwer zwraca 304.
Jak widać, gdy strona jest odświeżana, to zawsze trzeba zrobić wycieczkę do serwera, aby sprawdzić, czy plik został zmodyfikowany, czy nie. Wiem, że to niewiele, a serwer zwróci tylko informacje w nagłówku, ale czas podróży w obie strony w niektórych przypadkach jest niezwykle ważny.
Pytanie brzmi, czy jest sposób, w jaki mogę tego uniknąć, ponieważ już ustalam datę wygaśnięcia plików. Po prostu chcę, żeby zawsze pobierał je z pamięci podręcznej, aż wygasła ważność lub zastąpił plik innym (wersją).
2 wydaje się niewłaściwe, chyba że w nagłówkach jest napisane, że musisz zawsze weryfikować ponownie –