Cache – co to jest pamięć podręczna i jak wpływa na szybkość działania strony?
Cache sprawia, że strona nie musi za każdym razem pobierać i generować wszystkiego od początku. Przeglądarka może ponownie wykorzystać zapisany obraz lub plik CSS, CDN podać gotową kopię z serwera blisko użytkownika, a aplikacja ominąć kosztowne zapytanie do bazy danych.
To jeden z najskuteczniejszych sposobów przyspieszania stron. Dlatego pamięci podręcznej nie należy czyścić rutynowo „dla wydajności”. Czyścimy ją wtedy, gdy przechowuje nieaktualną albo błędną odpowiedź. Na co dzień trzeba przede wszystkim dobrze nią sterować.
Co to jest pamięć podręczna?
Pamięć podręczna, czyli cache, przechowuje kopię danych, których prawdopodobnie będziemy potrzebować ponownie. Zamiast jeszcze raz pobierać obraz, renderować stronę produktu albo pytać bazę o ten sam wynik, system korzysta z gotowej odpowiedzi.
Zasada jest prosta:
- użytkownik lub aplikacja prosi o zasób,
- cache sprawdza, czy ma aktualną kopię,
- jeśli tak, zwraca ją bez ponownego wykonywania całej pracy,
- jeśli nie, pobiera lub generuje nową odpowiedź i może zachować ją na kolejne żądania.
Gdzie strona przechowuje cache?
W jednej witrynie kilka warstw cache może działać jednocześnie. Dlatego po publikacji zmiany jedna osoba widzi nową wersję, druga starą, a panel administracyjny pokazuje jeszcze coś innego.
| Warstwa | Co najczęściej przechowuje | Typowy problem |
|---|---|---|
| przeglądarka | obrazy, fonty, CSS, JavaScript i odpowiedzi HTTP | użytkownik nadal widzi stary plik |
| CDN, np. Cloudflare | kopie zasobów i czasem gotowy HTML na serwerach blisko odbiorcy | CDN podaje nieaktualną stronę mimo poprawnej wersji na originie |
| cache strony lub reverse proxy | gotowy HTML wygenerowany przez CMS lub aplikację | stara cena, treść albo status odpowiedzi |
| cache obiektów i zapytań | wyniki zapytań do bazy, obiekty produktów, konfigurację | panel ma nowe dane, ale frontend nadal korzysta ze starego wyniku |
W komputerze istnieją też cache procesora, systemu plików i dysku. Dla właściciela strony internetowej najważniejsze są jednak warstwy pomiędzy przeglądarką a aplikacją, bo to one decydują, czy użytkownik dostanie właściwą wersję strony.
Jak przeglądarka i CDN wiedzą, jak długo trzymać kopię?
Serwer przekazuje reguły w nagłówku HTTP Cache-Control. Najczęściej spotkasz kilka dyrektyw:
| Dyrektywa | Znaczenie |
|---|---|
max-age=3600 | przeglądarka może używać kopii przez godzinę |
s-maxage=3600 | wspólny cache, np. CDN, może używać kopii przez godzinę |
public | odpowiedź może trafić do cache współdzielonego |
private | odpowiedź jest przeznaczona dla cache konkretnego użytkownika, nie wspólnego CDN |
no-cache | kopię można zachować, ale przed użyciem trzeba sprawdzić, czy nadal jest aktualna |
no-store | odpowiedzi nie należy zapisywać w cache |
Nazwa no-cache jest myląca: nie oznacza „nie zapisuj”. Oznacza „sprawdź przed ponownym użyciem”. Jeżeli serwer zwróci 304 Not Modified, przeglądarka wykorzysta zachowaną kopię bez ponownego pobierania całej treści.
Do takiego sprawdzenia służą m.in. ETag i Last-Modified:
|
|
Po wygaśnięciu kopii przeglądarka może wysłać If-None-Match z zapisanym ETag. Jeżeli produkt się nie zmienił, serwer odpowie samym 304, a przeglądarka pokaże zachowaną wersję.
Jak sprawdzić cache strony?
Zacznij od nagłówków odpowiedzi. W terminalu możesz użyć:
|
|
Sprawdź przede wszystkim:
Cache-Control— jak długo i gdzie wolno przechowywać odpowiedź,Age— od ilu sekund odpowiedź znajduje się we wspólnym cache,ETagorazLast-Modified— czy serwer umożliwia sprawdzenie aktualności kopii,CF-Cache-Status— co z odpowiedzią zrobił Cloudflare.
W Cloudflare HIT oznacza odpowiedź podaną z cache, MISS — brak gotowej kopii, a BYPASS — pominięcie cache przez regułę lub charakter odpowiedzi. Nie oceniaj konfiguracji na podstawie jednego odświeżenia: pierwszy request może zapełnić cache, a dopiero kolejny pokazać HIT.
Kiedy naprawdę trzeba wyczyścić cache?
Czyszczenie jest narzędziem naprawczym, nie zabiegiem konserwacyjnym. Ma sens, gdy:
- po wdrożeniu nadal ładuje się stary CSS lub JavaScript,
- strona pokazuje nieaktualną cenę, dostępność albo treść,
- cache utrwalił błędny status
404, przekierowanie lub nagłówekrobots, - zmienił się obraz pod tym samym adresem,
- po awarii CDN nadal podaje niepoprawną odpowiedź.
Najpierw unieważnij konkretny URL lub grupę zasobów. Pełne czyszczenie całego CDN pozbawia cache wszystkich gotowych kopii naraz i może niepotrzebnie obciążyć serwer.
Dla CSS, JavaScriptu i obrazów najlepszym rozwiązaniem jest wersjonowanie nazw, np. app.a81f2c.js. Nowe wdrożenie dostaje nowy adres, więc nie trzeba liczyć na ręczne czyszczenie przeglądarek użytkowników.
Jak wyczyścić cache w przeglądarce?
Jeżeli tylko na Twoim komputerze strona wygląda nieprawidłowo, zacznij od zwykłego odświeżenia. Następnie wykonaj twarde odświeżenie lub otwórz stronę w oknie prywatnym. Dopiero później usuwaj dane witryny.
W Chrome, Firefoxie i Edge ustawienia znajdziesz w sekcji prywatności lub historii przeglądania. Skrót Ctrl+Shift+Del w Windows albo Command+Shift+Delete w macOS otwiera okno usuwania danych w wielu przeglądarkach.
Wyczyszczenie cache na Twoim urządzeniu nie aktualizuje CDN ani cache aplikacji i nie wpływa na innych użytkowników. Jeżeli problem występuje na kilku urządzeniach, szukaj go po stronie witryny.
Cache w e-commerce: co przyspieszać, a czego nie mieszać?
W sklepie błędna reguła cache potrafi pokazać użytkownikowi cudzy koszyk, niewłaściwą walutę, starą cenę albo niedostępny wariant produktu. Korzyść wydajnościowa nie usprawiedliwia ryzyka pomieszania danych klientów.
Długo przechowuj wersjonowane zasoby statyczne: CSS, JavaScript, fonty i obrazy, których adres zmienia się wraz z zawartością.
Ostrożnie przechowuj HTML produktów i kategorii: po zmianie ceny lub dostępności unieważniaj właściwe URL-e, a nie cały serwis.
Wyłącz wspólny cache dla koszyka, checkoutu, konta i personalizacji: te odpowiedzi zależą od sesji lub konkretnego użytkownika.
Po wdrożeniu testuj kilka stanów: użytkownika anonimowego, zalogowanego, koszyk z produktem, różne waluty i wersje językowe. Szybka strona, która pokazuje niewłaściwe dane, nie jest dobrze zoptymalizowana.
Strona jest szybka tylko czasami albo pokazuje stare dane?
Sprawdzimy cache przeglądarki, CDN, serwera i aplikacji oraz ustawimy reguły bezpieczne dla treści, cen i procesu zakupowego.
Czy cache wpływa na SEO?
Dobrze ustawiony cache skraca czas odpowiedzi i ogranicza obciążenie serwera, więc wspiera wydajność oraz stabilność witryny. To ma znaczenie dla użytkowników, Core Web Vitals i sprawnego pobierania stron przez roboty.
Źle ustawiony cache może natomiast utrwalić błędny canonical, robots.txt, noindex, przekierowanie albo stronę błędu. Po ważnej zmianie SEO sprawdzaj nagłówki i HTML odpowiedzi z zewnątrz, a nie tylko podgląd w CMS-ie.
Google usunął publiczne linki do kopii stron oraz operator cache: w 2024 roku. Nie oznacza to, że wyszukiwarka przestała pobierać i przetwarzać dokumenty. „Kopia Google” nie jest jednak już narzędziem do diagnozowania częstotliwości indeksowania. Do tego służą raporty oraz inspekcja URL w Google Search Console.