Czy dołączenie ciągu zapytania do adresu URL powoduje, że przeglądarki nigdy go nie buforują? Na przykład moja witryna robi coś takiego:
/radar-picture.png?v=sep2013
Wygląda na to, że FireFox nigdy nie buforuje tego obrazu; jest pobierany na każde żądanie.
Chciałbym, aby FireFox buforował go tak długo, jak chce. Chcę tylko zmusić go do pobrania, gdy v=
parametr się zmieni.
cache
query-string
Pan Smith
źródło
źródło
radar-picture-sep2013.png
a kiedy zmieni się w pewnym momencie w przyszłości, będzieradar-picture-jan2014.png
. Możesz skonfigurować maksymalny wiek PNG na rok, więc jeśli nazwa pliku się nie zmieni, przeglądarka może załadować buforowane zdjęcie przez długi czas.Odpowiedzi:
Dodanie pary klucz / wartość ciągu zapytania do zasobu statycznego (takiego jak obraz, CSS lub JavaScript) może powodować problemy z buforowaniem .
W szczególności, ponieważ wspomniałeś o Firefoksie , twój problem może być związany z „kolizją pamięci podręcznej”, gdzie:
[Źródło: https://developers.google.com/speed/docs/best-practices/caching ]
źródło
Ta odpowiedź na stackoverflow twierdzi, że niektóre przeglądarki reagują inaczej na trafienie Enter w pasku adresu vs kliknięcie linku, gdy adres URL zawiera ciąg zapytania: https://stackoverflow.com/a/85386/1145388
Podczas testowania upewnij się, że klikasz linki zamiast odświeżania lub klikania Enter na pasku adresu URL.
źródło
style.css?v=sep2013
w arkuszach stylów i 150 KBbackground-image:url('bgimage.jpg?v=sep2013');
, nawigacja po stronie (poprzez klikanie linków lub pisanie w pasku adresu) jest bardzo wolna w FireFox.