Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [APACHE] mod_headers i mod_expires
Forum PHP.pl > Forum > Serwery WWW
Rymar
Chciałem zastosować na serwerze ustawienia wygaśnięcia plików. Z tego co znalazłem to można to zrobić przy pomocy mod_expires i mod_headers.
Do dyspozycji na serwerze mam jedynie mod_headers. Teraz tak, znalazłem taki kod

Dla mod_headers:
[APACHE] pobierz, plaintext
  1. # 1 YEAR
  2. <FilesMatch "\.(ico|pdf|flv)$">
  3. Header set Cache-Control "max-age=29030400, public"
  4. </FilesMatch>
  5. # 1 WEEK
  6. <FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
  7. Header set Cache-Control "max-age=604800, public"
  8. </FilesMatch>
  9. # 2 DAYS
  10. <FilesMatch "\.(xml|txt|css|js)$">
  11. Header set Cache-Control "max-age=172800, proxy-revalidate"
  12. </FilesMatch>
  13. # 1 MIN
  14. <FilesMatch "\.(html|htm|php)$">
  15. Header set Cache-Control "max-age=60, private, proxy-revalidate"
  16. </FilesMatch>
[APACHE] pobierz, plaintext

dla mod_expires:
[APACHE] pobierz, plaintext
  1. ExpiresActive On
  2. ExpiresDefault A0
  3.  
  4. # 1 YEAR
  5. <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
  6. ExpiresDefault A9030400
  7. </FilesMatch>
  8.  
  9. # 1 WEEK
  10. <FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
  11. ExpiresDefault A604800
  12. </FilesMatch>
  13.  
  14. # 3 HOUR
  15. <FilesMatch "\.(txt|xml|js|css)$">
  16. ExpiresDefault A10800"
  17. </FilesMatch>
[APACHE] pobierz, plaintext

1. Czy oba sposoby są równie dobre? Któryś z tych sposobów jest lepszy?
2. Kolejne pytanie bo już się zgubiłem. Załóżmy wchodzę na stronę ściągają mi się pliki ze statusem 200 i po ponownym razie z racji, że już się wszystko ściągnęło ma się pojawić 304 ?
Bo jeśli tak to mi się tak nie pojawia (przy mod_headers i max-age, "firebug" w chrome). Jedynie jak ustawię
[APACHE] pobierz, plaintext
  1. FileETag MTime Size
[APACHE] pobierz, plaintext

To przy odświeżaniu strony (F5) pojawia się 304, przy normalnym kliknięciu linku do tej samej strony w której się znajduję już tak nie jest.
3. Czy przy stosowaniu max-age z mod_headers należy wyłączyć ETagi ?
4. Czy to w znaczny sposób przyśpiesza pobieranie danych, czy dać sobie z tym spokój?

Zainteresowałem się tematem gdy dodałem wtyczkę YSlow do firebuga, zaczęły mi wyskakiwać błędy optymalizacyjne na serwerze, a na tym się w ogóle nie znam.
Jakby ktoś mógłby mi to wyjaśnić, byłbym wdzięczny lub podał jakieś stosowne linki do zgłębienia tematu.
uglukha
heh, chcialem wlasnie zalozyc bardzo podobny temat winksmiley.jpg wiec sie podlacze pod ten.

Za kazdym razem jak wchodze na swoja strone to pliki graficzne sie laduja od nowa, i wlasnie tez chcialem uzyc tego
[APACHE] pobierz, plaintext
  1. <FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
  2. Header set Cache-Control "max-age=604800, public"
  3. </FilesMatch>
[APACHE] pobierz, plaintext

To zalatwi sprawe? Przegladarka juz bedzie cachowac wszystko? I na ile ustawic max-age? jpg sie niegdy nie zmienia, rok wstawic? miesiac?

I dodatkowe pytanie, jaka jest roznica pomiedzy parametrami public, private, proxy-revalidate w przykladach podanych przez Rymar?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.