Odpowiedzi:
html5boilerplate.com zawiera dobrze skomentowany plik .htaccess, który ma wiele standardowych ustawień, które należy wziąć pod uwagę. Wśród nich są rozsądne ustawienia wygasania treści (wygasa, E-tagi, ...).
Pamiętaj, że Last-Modifiednagłówki to słabe nagłówki pamięci podręcznej. Obecnie preferowane jest używanie Cache-Controlnagłówków.
Google ma dobry artykuł na ten temat.
Wygasa i kontrola pamięci podręcznej: maksymalny wiek. Określają one „czas życia świeżości” zasobu, to znaczy okres, w którym przeglądarka może korzystać z zasobu buforowanego bez sprawdzania, czy nowa wersja jest dostępna z serwera WWW. Są to „silne nagłówki buforujące”, które obowiązują bezwarunkowo; oznacza to, że po ich ustawieniu i pobraniu zasobu przeglądarka nie wysyła żadnych żądań GET dla zasobu, dopóki nie wygaśnie data ważności lub maksymalny wiek.
Ostatnia modyfikacja i ETag. Określają one pewne cechy zasobu, który przeglądarka sprawdza, aby ustalić, czy pliki są takie same. W nagłówku Ostatnia modyfikacja jest to zawsze data. W nagłówku ETag może to być dowolna wartość, która jednoznacznie identyfikuje zasób (typowe są wersje plików lub skróty treści). Ostatnia modyfikacja to „słaby” nagłówek buforowania, ponieważ przeglądarka stosuje heurystykę w celu ustalenia, czy pobrać element z pamięci podręcznej, czy nie. (Heurystyka różni się w zależności od przeglądarki). Jednak te nagłówki pozwalają przeglądarce na efektywną aktualizację pamięci podręcznej poprzez wydawanie warunkowych żądań GET, gdy użytkownik jawnie przeładuje stronę. Warunkowe GET nie zwracają pełnej odpowiedzi, chyba że zasób zmienił się na serwerze, a zatem mają mniejsze opóźnienie niż pełne GET.
Polecam użycie jednego Cache-Controllub Expiresnagłówków w razie potrzeby, ponieważ są to silne nagłówki pamięci podręcznej. Niektóre systemy ignorują daty ostatniej modyfikacji.
Następnie możesz użyć narzędzia takiego jak curllub http://redbot.org, aby sprawdzić nagłówki.
Last-Modifiednagłówków przy braku innych instrukcji buforowania pozostawia okres buforowania klientowi HTTP. Jeśli zasób nie został zmodyfikowany od tej Last-Modifieddaty, należy go uznać za nowy. Natomiast w przypadku użycia nagłówka Expireslub Cache-Controlnagłówka źródło może ustawić wyraźny okres świeżości.
Expiresjest całkowicie nieodpowiednim nagłówkiem dla zasobów, które nie wygasają. Niektóre zasoby mogą być modyfikowane, ale nie w określonym terminie wygaśnięcia. Chodzi o to, że GoogleLast-Modifiedwymaga warunkowego GET, aleExpirespozwala pamięci podręcznej przeglądarki całkowicie pominąć GET.