@Paul Creasey i @Salsa są zarówno poprawne, że przeglądarka będzie obsługiwać buforowanie domyślnie tak długo, jak link jest taka sama.
Jak wspomniano, to stwarza problem, kiedy trzeba aktualizować te pliki jak nie masz gwarancji, że przeglądarka klienta sprawdzi zaktualizowanej wersji. W wielu przypadkach robią to tylko po upływie ustalonego czasu, co może doprowadzić do oszałamiającego doświadczenia użytkownika.
Na tej stronie jest już zadanych kilka pytań dotyczących obsługi alertowania przeglądarek klientów pod numerem refresh the cache. Krótko mówiąc, wszystkie one polegają na zmianie łącza podczas zmiany zawartości pliku.
można dodać parametr do adresu URL, który będzie używany tylko do celów buforowania, takie jak:
<script src="/myJavascript.js?version=4"></script>
Następnie wystarczy zmienić numer wersji po zmianie zawartości i trzeba wymusić bocznej klient ala odświeżania this answer.
Rzeczy nie są takie proste. Buforowanie jest ważne, jeśli zależy Ci na pozbawionej błędów i dobrze działającej stronie. Chcesz, aby użytkownicy nie musieli ponownie pobierać treści, ale chcesz też uniknąć odwiedzania nieaktualnych treści. W ASP.NET MVC używam podejścia, które zawiera skrót mieszania MD5 w adresie URL, który osiąga to bez zbytniego myślenia po jego skonfigurowaniu. Sprawdź [tutaj moja odpowiedź] (http://stackoverflow.com/questions/936626/how-can-i-force-a-hard-refresh-ctrlf5/6439351#6439351) dla kodu źródłowego. –
@ Drew Sure, nie był to plan przeglądania pamięci podręcznej. Po prostu mówię pytającemu, że jeśli nie potrzebujesz dokładniejszego sterowania, istniejące domyślne ustawienia w przeglądarkach i serwerach nie są takie złe. Apache jest zwykle skonfigurowany do obsługi ETagów itp., A przeglądarki zwykle współpracują z 304-tymi. Sprawdziłeś swoje rozwiązanie i to jest dobry pomysł! Prawdopodobnie skorzystam z tego pomysłu w Django. – JAL