Darmowy audyt GA4Sprawdź

Cache

Definicja

Cache (pamięć podręczna) to mechanizm, który zapisuje kopię danych, aby przy kolejnym użyciu dostarczyć je szybciej, bez ponownego pobierania ze źródła. W kontekście stron internetowych najczęściej chodzi o pamięć podręczną HTTP. Według dokumentacji MDN przechowuje ona odpowiedź na żądanie i używa jej ponownie przy kolejnych żądaniach. Dzięki temu strona ładuje się szybciej, a serwer obsługuje mniej zapytań.

Jakie są rodzaje cache?

Pamięć podręczna działa na kilku poziomach, od przeglądarki użytkownika po serwer:

Rodzaj cacheGdzie działaCo przechowuje
cache przeglądarkina urządzeniu użytkownikapliki strony, np. obrazy, CSS i JavaScript
cache współdzielonymiędzy użytkownikiem a serwerem, np. proxy lub CDNodpowiedzi, z których może korzystać wielu użytkowników
cache po stronie serwerana serwerze stronygotowe strony lub wyniki zapytań do bazy danych
back/forward cache (bfcache)w przeglądarcepełną kopię strony w pamięci, razem ze stanem JavaScriptu

MDN nazywa cache przeglądarki pamięcią prywatną, bo jest przypisana do jednego klienta. Cache współdzielony stoi między klientem a serwerem i może obsługiwać wielu użytkowników naraz. Należą do niego m.in. serwery proxy, odwrotne proxy i sieci CDN.

Bfcache działa inaczej niż pamięć podręczna HTTP. Zapisuje całą stronę w pamięci, gdy użytkownik z niej wychodzi. Po kliknięciu „Wstecz” przeglądarka pokazuje ją od razu, bez ponownego ładowania.

Jak działa cache HTTP?

O tym, czy i jak długo przechowywać plik, decyduje głównie nagłówek odpowiedzi Cache-Control. Najważniejsze dyrektywy to:

DyrektywaZnaczenie
max-agejak długo, w sekundach, odpowiedź pozostaje świeża
s-maxageczas świeżości tylko dla cache współdzielonego, np. CDN
no-cacheodpowiedź może być zapisana, ale przed użyciem trzeba ją sprawdzić na serwerze
no-storeodpowiedzi nie wolno zapisywać w żadnym cache
privateodpowiedź może trafić tylko do cache przeglądarki
publicodpowiedź może trafić także do cache współdzielonego

Zapisana odpowiedź jest najpierw świeża, a po upływie czasu staje się nieaktualna. Nieaktualnej kopii przeglądarka nie wyrzuca od razu. Pyta serwer, czy plik się zmienił, wysyłając wartość z nagłówka ETag lub datę z Last-Modified. Jeśli plik jest taki sam, serwer odpowiada kodem 304 Not Modified bez przesyłania treści.

Gdy serwer nie wyśle nagłówka Cache-Control, przeglądarka może i tak zapisać odpowiedź. MDN nazywa to buforowaniem heurystycznym. Dlatego zasady przechowywania lepiej ustawiać świadomie, niż zostawiać je przeglądarce.

Jakie są rodzaje cache?

Jaki wpływ ma cache na szybkość strony i SEO?

Dobrze ustawiony cache skraca czas ładowania przy kolejnych wizytach. Przeglądarka nie pobiera wtedy ponownie plików, które już ma. Zbyt krótki czas przechowywania plików statycznych wykrywają narzędzia Google Lighthouse i PageSpeed Insights.

Duże znaczenie ma też bfcache. Według danych Chrome co dziesiąta nawigacja na komputerach i co piąta na telefonach to przejście wstecz lub w przód. Strona przywrócona z bfcache wyświetla się niemal natychmiast. Blokują to m.in. zdarzenie unload oraz nagłówek Cache-Control: no-store na samej stronie.

Z pamięci podręcznej korzystają też rozwiązania Google. Strony AMP mogą być serwowane z Google AMP Cache, czyli kopii przechowywanej przez Google. Szybkość i konfigurację cache warto sprawdzić w ramach audytu SEO.

Co się stało z cache Google w wynikach wyszukiwania?

Przez lata Google pokazywał przy wynikach link do zapisanej kopii strony, tzw. kopii w pamięci podręcznej. Na początku 2024 roku Google usunął ten link z wyników. Jesienią 2024 roku przestał też działać operator wyszukiwania cache:.

W zamian Google dodał w panelu „Informacje o tym wyniku” odnośniki do archiwum Wayback Machine. Aby zobaczyć, jak Google widzi własną stronę, właściciel witryny może użyć narzędzia Sprawdzanie adresu URL w Google Search Console.

Jak wyczyścić cache?

Sposób zależy od tego, gdzie zapisano dane:

  • przeglądarka – wymuszone odświeżenie strony skrótem Ctrl+Shift+R (Windows) lub Cmd+Shift+R (macOS) albo usunięcie danych przeglądania w ustawieniach,
  • CDN – opróżnienie pamięci w panelu dostawcy, tzw. purge,
  • serwer i CMS – wyczyszczenie cache w panelu hostingu lub we wtyczce, np. w WordPressie.

Po zmianach na stronie część użytkowników może widzieć starą wersję, dopóki kopia nie straci świeżości. Dlatego do nazw plików CSS i JavaScript dodaje się często numer wersji. Zmiana nazwy zmusza przeglądarkę do pobrania nowego pliku.

Źródła

  • MDN Web Docs, „HTTP caching”. developer.mozilla.org
  • IETF, RFC 9111 „HTTP Caching”, 2022. rfc-editor.org
  • web.dev, „Back/forward cache”. web.dev
  • Search Engine Land, „Google Search completely kills the cache feature”, 2024. searchengineland.com

Najczęściej zadawane pytania

Q.Czym różni się cache od plików cookies?

Cache przechowuje kopie zasobów strony, np. obrazów, stylów czy skryptów, aby szybciej ją wczytać. Pliki cookies to małe porcje danych, które strona zapisuje w przeglądarce, np. stan koszyka lub informację o zalogowaniu. Cache przyspiesza ładowanie, a cookies pozwalają stronie zapamiętać użytkownika. W przeglądarce można je usuwać niezależnie.

Q.Czy wyczyszczenie cache usunie zapisane hasła?

Nie, jeśli usuwasz tylko obrazy i pliki zapisane w pamięci podręcznej. W ustawieniach przeglądarek, np. Chrome, hasła, historia i pliki cookies to osobne pozycje do zaznaczenia. Po wyczyszczeniu samego cache strony mogą przy pierwszej wizycie ładować się wolniej. Przeglądarka musi wtedy ponownie pobrać ich pliki.

Q.Czym różni się no-cache od no-store?

Dyrektywa no-cache pozwala zapisać odpowiedź, ale przed każdym użyciem przeglądarka musi sprawdzić na serwerze, czy jest aktualna. Dyrektywa no-store całkowicie zabrania zapisywania odpowiedzi w jakimkolwiek cache. No-store bywa stosowany przy danych wrażliwych, np. w panelach klienta. Może jednak wykluczyć stronę z bfcache, co spowalnia nawigację wstecz.

Q.Czy można jeszcze zobaczyć kopię strony z cache Google?

Nie. Google usunął link do kopii z wyników wyszukiwania na początku 2024 roku, a jesienią wyłączył operator cache:. Starsze wersje stron można sprawdzić w archiwum Wayback Machine, do którego Google linkuje w panelu „Informacje o tym wyniku”. Własną stronę oczami Google pokazuje Google Search Console.

Kontakt

Porozmawiajmy o Twoim wzroście

Wyślij brief lub zostaw kontakt. Odpowiemy w 24h.

Wyceń projekt
Paweł Strzelecki i Karol Majewski, współzałożyciele Zest