Do dyspozycji na serwerze mam jedynie mod_headers. Teraz tak, znalazłem taki kod
Dla mod_headers:
# 1 YEAR <FilesMatch "\.(ico|pdf|flv)$"> Header set Cache-Control "max-age=29030400, public" </FilesMatch> # 1 WEEK <FilesMatch "\.(jpg|jpeg|png|gif|swf)$"> Header set Cache-Control "max-age=604800, public" </FilesMatch> # 2 DAYS <FilesMatch "\.(xml|txt|css|js)$"> Header set Cache-Control "max-age=172800, proxy-revalidate" </FilesMatch> # 1 MIN <FilesMatch "\.(html|htm|php)$"> Header set Cache-Control "max-age=60, private, proxy-revalidate" </FilesMatch>
dla mod_expires:
ExpiresActive On ExpiresDefault A0 # 1 YEAR <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$"> ExpiresDefault A9030400 </FilesMatch> # 1 WEEK <FilesMatch "\.(jpg|jpeg|png|gif|swf)$"> ExpiresDefault A604800 </FilesMatch> # 3 HOUR <FilesMatch "\.(txt|xml|js|css)$"> ExpiresDefault A10800" </FilesMatch>
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ę
FileETag MTime Size
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.