Cache przeglądarki, cache DNS i cache serwera – czym się różnią?
W osobnym poradniku Co to jest cache serwera? pokazaliśmy, w jaki sposób pamięć podręczna pozwala ograniczyć liczbę operacji wykonywanych przez PHP i bazę danych. To jednak tylko jeden z elementów całego mechanizmu. W praktyce podczas otwierania strony internetowej równocześnie działają różne rodzaje pamięci podręcznej – część znajduje się w przeglądarce użytkownika, część w systemie DNS, a część bezpośrednio na serwerze. Choć wszystkie określamy wspólnym słowem cache, każda z nich przechowuje zupełnie inne dane i rozwiązuje inny problem. Właśnie dlatego wyczyszczenie pamięci podręcznej przeglądarki nie spowoduje odświeżenia rekordów DNS, a opróżnienie Redis nie usunie zapisanych plików z komputera użytkownika. ([akamai.com](https://www.akamai.com/es/glossary/what-is-dns-caching) , )
Nowoczesna wydajność to efekt współpracy wielu technologii. W SEOHOST wykorzystujemy rozwiązania obejmujące cache serwera, szybkie dyski NVMe, Redis, LiteSpeed oraz nowoczesne protokoły HTTP. Dzięki temu możesz skupić się na rozwijaniu strony, a nie na ręcznej optymalizacji każdego elementu infrastruktury. Sprawdź hosting WWW, serwery VPS oraz poradniki dotyczące optymalizacji WordPressa.
- Trzy rodzaje cache – trzy różne zadania
- Jak współpracują cache przeglądarki, DNS i serwera?
- Kiedy warto wyczyścić pamięć podręczną?
Trzy rodzaje cache – trzy różne zadania
Najłatwiej wyobrazić sobie stronę internetową jako przesyłkę dostarczaną do odbiorcy. Zanim trafi do przeglądarki, musi zostać odnaleziona, przygotowana i pobrana. Każdy z tych etapów może korzystać z innej pamięci podręcznej.
| Rodzaj cache | Co przechowuje? | Efekt |
|---|---|---|
| Cache przeglądarki | obrazy, CSS, JavaScript, czcionki i inne pliki pobrane wcześniej | przeglądarka nie pobiera ponownie tych samych zasobów |
| Cache DNS | wyniki wcześniejszych zapytań DNS | domena szybciej zostaje przetłumaczona na adres IP |
| Cache serwera | gotowy HTML, obiekty PHP lub wyniki zapytań SQL | serwer wykonuje mniej operacji przy każdym wejściu na stronę |
Cache przeglądarki działa najbliżej użytkownika. Po pierwszym wejściu na stronę zapisuje wybrane pliki lokalnie na komputerze lub telefonie. Przy kolejnej wizycie przeglądarka sprawdza, czy nadal może z nich skorzystać. Jeżeli tak, nie pobiera ich ponownie z Internetu.
Cache DNS działa jeszcze wcześniej. Zanim przeglądarka połączy się z serwerem, musi poznać jego adres IP. Jeżeli wynik wcześniejszego zapytania DNS znajduje się już w pamięci podręcznej systemu operacyjnego, routera lub serwera DNS operatora, nie ma potrzeby ponownego odpytywania całej infrastruktury DNS. Dzięki temu skraca się czas rozpoczęcia połączenia.
Cache serwera odpowiada natomiast za ograniczenie pracy wykonywanej przez samą aplikację. Jak pokazaliśmy w poradniku Co to jest cache serwera?, może on przechowywać gotowy kod HTML (Page Cache), wyniki zapytań do bazy danych (Redis Object Cache) albo skompilowany kod PHP (OPcache).
Cache to nie cookies. Pliki cookies przechowują informacje o użytkowniku, np. identyfikator sesji, preferencje lub zawartość koszyka. Cache zapisuje dane służące przyspieszeniu działania strony. Choć oba mechanizmy wykorzystują pamięć przeglądarki, pełnią zupełnie inne funkcje.
Jak współpracują cache przeglądarki, DNS i serwera?
Najlepiej zrozumieć to na prostym przykładzie.
Użytkownik wpisuje adres strony w przeglądarce. System operacyjny najpierw sprawdza, czy adres IP domeny znajduje się w cache DNS. Jeżeli odpowiedź została wcześniej zapamiętana, można od razu rozpocząć połączenie z serwerem.
Następnie przeglądarka analizuje własną pamięć podręczną. Jeżeli obrazy, arkusze CSS lub pliki JavaScript nadal są aktualne, nie pobiera ich ponownie.
Dopiero wtedy żądanie trafia do serwera. Jeżeli działa tam LiteSpeed Cache, Varnish lub inny mechanizm Page Cache, użytkownik może otrzymać gotowy dokument HTML bez uruchamiania WordPressa. Jeżeli aplikacja korzysta z Redis, wiele zapytań do bazy danych zostanie odczytanych bezpośrednio z pamięci RAM zamiast z silnika MySQL lub MariaDB.
Warto zauważyć, że te mechanizmy nie konkurują ze sobą. Wręcz przeciwnie – każdy skraca inny etap przetwarzania żądania. Im więcej z nich działa poprawnie, tym mniej czasu upływa od wpisania adresu strony do wyświetlenia gotowej witryny.
Największy wzrost wydajności osiągamy wtedy, gdy wszystkie elementy współpracują. Szybki hosting, Redis, LiteSpeed Cache, poprawnie ustawione nagłówki cache oraz nowoczesne protokoły HTTP tworzą środowisko, w którym WordPress może obsługiwać znacznie większy ruch przy tym samym zużyciu zasobów. Jeżeli planujesz rozbudowę swojej strony, sprawdź również serwery VPS oraz hosting WWW SEOHOST.
Kiedy warto wyczyścić pamięć podręczną?
Jednym z najczęstszych błędów jest usuwanie niewłaściwego rodzaju cache. Zdarza się, że administrator zmienia rekord DNS, a następnie czyści pamięć przeglądarki. Efekt? Nic się nie zmienia, ponieważ problem znajduje się w cache DNS.
Podobnie wygląda sytuacja po aktualizacji strony WordPress. Jeżeli serwer nadal przechowuje starszą wersję dokumentu HTML, wyczyszczenie cookies nie przyniesie żadnego rezultatu. Trzeba opróżnić pamięć podręczną serwera lub wtyczki cache.
- Po zmianie rekordów DNS warto odświeżyć cache DNS.
- Po zmianie wyglądu strony często wystarczy wyczyścić cache przeglądarki.
- Po aktualizacji WordPressa, motywu lub wtyczek zwykle należy opróżnić cache serwera.
Nie usuwaj cache bez potrzeby. Pamięć podręczna istnieje po to, aby przyspieszać działanie strony. Jej ciągłe opróżnianie powoduje, że serwer ponownie generuje wszystkie dane od początku, a użytkownicy przez pewien czas korzystają z mniej wydajnej wersji witryny.
Jeżeli chcesz lepiej zrozumieć działanie poszczególnych technologii, przeczytaj również Co to jest cache serwera?, Co to jest Redis?, Jak działa LiteSpeed Cache? oraz Co to jest DNS i jak działa?. Razem pokazują, dlaczego nowoczesne strony internetowe wykorzystują kilka różnych warstw pamięci podręcznej jednocześnie.