Tak to wygląda to możliwe .... składnia plik .htaccess jest:
Header unset Last-Modified
FileETag none
ExpiresActive On
ExpiresDefault "access plus 1 years"
To wyłączy Etags i włącz Cache-Control: max-age
Następnie umieścić ten. plik .htaccess w katalogu i wszystkich plików (włącznie z nim to podkatalogi będą buforowane przez 1 rok.
postanowiłem umieścić wszystkie moje cache-stanie treści w ramach jednego katalogu i edytować httpd.conf
jak
<Directory "C:\somedir\cache">
Header unset Last-Modified
FileETag none
ExpiresActive On
ExpiresDefault "access plus 1 years"
</Directory>
Nadal jestem w trakcie testowania tego. Mam tylko nadzieję, że to nie wyłączy Etags dla reszty strony. Jak na razie wygląda na to, że działa zgodnie z planem.
UPDATE (po 6 miesiącach):
Ustawianie ExpiresDefault i pozwalających e-tags jest najlepszą rzeczą do zrobienia.
w httpd.conf:
<Directory "C:\somedir\cache">
ExpiresActive On
ExpiresDefault "access plus 1 year"
</Directory>
Upewnij "somedir" jest wewnątrz korzenia apache (takich jak htdocs).
Pozwolenie na e-tagi jest dobre, ponieważ po 1 roku przeglądarka ponownie sprawdzi poprawność pliku, przekazując e-tag. Serwer sieciowy odeśle 304 - Nie zmodyfikowano i zresetuje maksymalny wiek do 1 roku. Jest to bardzo wydajne.
Podsumowując, można obejrzeć plik dziennika apache i zobaczyć, że elementy w katalogu/cache są uruchamiane raz.
Uwaga: Zauważyłem, że ustawienie Header append Cache-Control "public"
można wykonać, jeśli chcesz.
Ostateczna wersja:
Oto ostateczna wersja: (wystarczy dodać to na dole httd.conf)
<Directory "C:\somedir\cache"">
ExpiresActive On
ExpiresDefault "access plus 1 year"
Header append Cache-Control "public"
</Directory>
Kontrola nagłówka powinny ujawnić to:
Accept-Ranges:bytes
Cache-Control:max-age=31536000, public
Connection:Keep-Alive
Content-Language:en
Content-Length:746
Content-Type:text/css
Date:Thu, 29 May 2014 15:23:50 GMT
ETag:"240000000add63-2ea-4f4086d72ad01"
Expires:Fri, 29 May 2015 15:23:50 GMT
Keep-Alive:timeout=40, max=200
Last-Modified:Fri, 07 Mar 2014 18:28:59 GMT
Będzie:
- Ustaw max-age na 1 rok (najdłuższy zalecane)
- wysłać wygasa znacznik 1 roku
- Wyślij Etag, więc po 1 roku przeglądarka wykona oznaczenie etag
- Poinformuj pośrednie urządzenia/usługi buforowania, że mogą buforować plik przez 1 rok.