Automatyczne usuwanie pamięci podręcznej przeglądarki

Arkadiusz Meszka    8 listopada 2016 | Ostatnia modyfikacja: 2 listopada 2020

Pamięć podręczna przeglądarki sprawia wiele kłopotów, gdy jesteśmy w trakcie budowy strony internetowej lub zmian na niej. Samo odświeżanie przeglądarki nie zawsze pozwala zobaczyć zmiany. Świadomość wśród internautów odnośnie istnienia pamięci podręcznej jest stosunkowo niska. Większość osób myli to z Cookies, jednak są to dwie odrębne rzeczy. Podczas szukania zdjęcia/grafiki do tego wpisu, wpisałem na portalu stockowym ze zdjęciami hasło “browser cache” – w wynikach wyszukiwania pojawiły się m.in. obrazki z napisem “Cookies” 🙂

Pamięć podręczna a ciasteczka

Ciasteczka (cookies) są to pliki niewielkich rozmiarów przechowujące informacje tekstowe. Wykorzystywane są głównie w celu zapamiętywania stanu zalogowania na portalach, zapamiętania ustawień na stronach internetowych i w celach marketingowych. Więcej o ciasteczkach znajdziecie np. na wikipedii.

Pamięć podręczna przeglądarki (cache) zapamiętuje zawartość stron, np. obrazki, skrypty, arkusze stylów. I kiedy odwiedzamy daną stronę pierwszy raz, przeglądarka zapisuje w pamięci podręcznej (czyli na naszym komputerze) zawartość tej strony – obrazki, skrypty, arkusze stylów. Gdy potem drugi raz wchodzimy na tę samą stronę, przeglądarka nie pobiera wszystkiego z serwera drugi raz, tylko sięga do swoich zasobów w pamięci podręcznej (czyli de facto do zasobów zapisanych na naszym komputerze), przez co strona ładuje się znacznie szybciej.

Jest to bardzo pożyteczne działanie, szczególnie wtedy, gdy mamy wolne łącze internetowe. Jednak mechanizm ten bardzo przeszkadza, gdy na stronie internetowej są wprowadzane zmiany i musimy je zweryfikować, ponieważ przeglądarka nie wczytuje aktualnych informacji ze strony, tylko zawartość zapamiętaną w pamięci podręcznej.

Pamięć podręczna od strony klienta

Warto skorzystać z wtyczek do przeglądarek, które automatycznie usuwają nam pamięć podręczną. Do przeglądarki Google Chrome najbardziej polecam tę wtyczkę:

https://chrome.google.com/webstore/detail/cache-killer/jpfbieopdmepaolggioebjmedmclkbap

Wtyczka Cache Killer automatycznie usuwa nam pamięć podręczną przy każdym odświeżeniu. Można ją w każdej chwili włączyć i wyłączyć jednym kliknięciem. Gdy ją włączymy, przy wczytywaniu każdej strony internetowej usuwana jest pamięć podręczna. Przy odświeżaniu również (gdyż odświeżanie to nic innego jak ponowne wczytywanie).

Analogiczną wtyczką, o takim samym działaniu dla przeglądarki Mozilla Firefox jest Cache Disabler:

https://addons.mozilla.org/pl/firefox/addon/cache-disabler/

Twórcy tej wtyczki napisali nawet w opisie, że wzorowali się na Cache Killer z Google Chrome.

Pomięć podręczna przeglądarki od strony webdevelopera

Webdeveloper też ma możliwość wpływania na to, jak zachowuje się przeglądarka klienta (czy zapisuje zawartość strony w pamięci podręcznej, czy wczytuje za każdym razem od nowa stronę).

Są dwie najbardziej znane metody. Jedna to ustawienie odpowiednich parametrów w sekcji head strony internetowej. Są to następujące znaczniki meta:

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

Jest to rozwiązanie łatwe w zaimplementowaniu, jednak nie jest w 100% skuteczne.

Druga opcja to dodawanie losowego ciągu znaków do zasobów strony, czyli arkuszy stylów, skryptów i obrazków. Np. plik script.js można pobierać w ten sposób:

<script type="text/javascript" src="main.js?v=12392823"></script>

Obrazek zaś:

<img src="img/obrazek.jpg?9382938293" alt="Alt obrazka" />

Oczywiście część “12392823” oraz “9382938293” musi być losowym ciągiem znaków, nie może być stała.

Jest to rozwiązanie trudniejsze do zaimplementowania, nie zawsze możliwe (w zależności od rodzaju strony, budżetu na nią). Jeśli tylko mamy możliwość stosowania go – warto to zrobić.

Niestety również nie jest ono w 100% skuteczne. Widziałem strony, w których oba rozwiązania naraz były zaimplementowane, a klient i tak miał problem z wczytaniem nowej zawartości strony. Tak więc o ile warto stosować te metody, bo w większości przypadków są skuteczne, o tyle warto informować osoby weryfikujące stronę internetową o istnieniu wtyczek do przeglądarek opisanych powyżej.

Udostępnij wpis
1 Gwiazdka2 Gwiazdki3 Gwiazdki4 Gwiazdki5 Gwiazdek (1 głosów, średnia: 5,00 z 5)
Loading...

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *