Wyświetlaj zasoby statyczne, korzystając z wydajnej zasady pamięci podręcznej

Pamięć podręczna HTTP może przyspieszyć wczytywanie strony podczas ponownych wizyt.

Gdy przeglądarka poprosi o zasób, serwer dostarczający zasób może poinformować przeglądarkę, jak długo ma ona tymczasowo przechowywać zasób w pamięci podręcznej. W przypadku kolejnych żądań tego zasobu przeglądarka będzie używać jego lokalnej kopii zamiast pobierać go z sieci.

Dlaczego kontrola zasad dotyczących pamięci podręcznej Lighthouse zakończyła się niepowodzeniem

Lighthouse oznacza wszystkie zasoby statyczne, które nie są przechowywane w pamięci podręcznej:

Zrzut ekranu pokazujący Lighthouse z wynikiem „Serve static assets” (Przesyłanie statycznych komponentów) z skutecznym sprawdzeniem zasad dotyczących pamięci podręcznej

Lighthouse uznaje zasób za możliwy do zacachowania, jeśli są spełnione wszystkie te warunki:

  • Zasób to czcionka, obraz, plik multimedialny, skrypt lub arkusz stylów.
  • zasób ma kod stanu 200, 203 lub 206 kod stanu HTTP;
  • Zasób nie ma wyraźnej zasady dotyczącej braku pamięci podręcznej.

Gdy strona nie przejdzie kontroli, Lighthouse wyświetli wyniki w tabeli z 3 kolumnami:

Adres URL Lokalizacja zasobu, który można przechowywać w pamięci podręcznej
TTL w pamięci podręcznej bieżący czas przechowywania zasobu w pamięci podręcznej;
Rozmiar przesyłania Szacowana ilość danych, które użytkownicy oszczędzą, jeśli zasób z oznacznikiem zostanie zapisany w pamięci podręcznej.

Jak przechowywać w pamięci podręcznej zasoby statyczne za pomocą buforowania HTTP

Skonfiguruj serwer w taki sposób, aby zwracał nagłówek odpowiedzi HTTP Cache-Control:

Cache-Control: max-age=31536000

Dyrektywa max-age informuje przeglądarkę, jak długo ma przechowywać zasób w pamięci podręcznej (w sekundach). W tym przykładzie ustawiono czas trwania na 31536000, co odpowiada 1 roku: 60 sekund × 60 minut × 24 godziny × 365 dni = 31536000 sekund.

Niezmieniające się zasoby statyczne powinny być przechowywane w pamięci podręcznej przez długi czas, na przykład przez rok lub dłużej.

Użyj no-cache, jeśli zasób ulega zmianom i ważna jest jego aktualność, ale nadal chcesz korzystać z szybkości uzyskiwanej dzięki pamięci podręcznej. Przeglądarka nadal przechowuje w pamięci podręcznej zasób z ustawionym parametrem no-cache, ale najpierw sprawdza u serwera, czy zasób jest nadal aktualny.

Dłuższy czas przechowywania w pamięci podręcznej nie zawsze jest lepszy. Ostatecznie to Ty decydujesz, jaki czas przechowywania w pamięci podręcznej jest optymalny dla Twoich zasobów.

Istnieje wiele dyrektyw, które pozwalają określić sposób, w jaki przeglądarka przechowuje różne zasoby w pamięci podręcznej. Więcej informacji o zasobach pamięci podręcznej znajdziesz w przewodniku „Pamięć podręczna HTTP – pierwsza linia obrony” oraz w laboratorium programistycznym „Konfigurowanie zachowania pamięci podręcznej HTTP”.

Jak sprawdzić odpowiedzi w pamięci podręcznej w Narzędziach deweloperskich w Chrome

Aby sprawdzić, które zasoby przeglądarki uzyskuje z pamięci podręcznej, otwórz kartę Sieć w Narzędziach deweloperskich w Chrome:

  1. Aby otworzyć Narzędzia dla programistów, naciśnij Control+Shift+J (lub Command+Option+J na Macu).
  2. Kliknij kartę Sieć.

Kolumna Rozmiar w narzędziach deweloperskich Chrome może pomóc Ci sprawdzić, czy zasób został zapisany w pamięci podręcznej:

Kolumna Rozmiar.

Chrome udostępnia najczęściej używane zasoby z pamięci podręcznej, co jest bardzo szybkie, ale powoduje wyczyszczenie pamięci po zamknięciu przeglądarki.

Aby sprawdzić, czy nagłówek Cache-Control zasobu jest prawidłowo skonfigurowany, sprawdź dane nagłówka HTTP:

  1. W kolumnie Nazwa w tabeli żądań kliknij adres URL żądania.
  2. Kliknij kartę Nagłówki.
Sprawdzanie nagłówka Cache-Control na karcie Nagłówki
Sprawdzasz nagłówek Cache-Control na karcie Nagłówki.

Wskazówki dotyczące poszczególnych zbiorów

Drupal

Ustaw opcję Maksymalny wiek przeglądarki i pamięci podręcznej serwera proxy na stronie Administracja » Konfiguracja » Programowanie. Przeczytaj artykuł o pamięci podręcznej Drupala i optymalizacji w celu zwiększenia wydajności.

Joomla

Zobacz Pamięć podręczna.

WordPress

Zobacz Pamięć podręczna przeglądarki.

Zasoby