Lighttpd i mod_expire

Optymalizacji ciąg dalszy 🙂 Page Speed Online często doczepia się do ustawienia expiry date dla plików, które mają być długo cache’owane. Generalnie chodzi o to, żeby przeglądarka automatycznie cache’owała nam pliki jak najdłużej sięda – pliki naszego serwisu, które nie często sięzmieniają jak biblioteki CSS czy JS, a nawet niektóre obrazki.
Jak to zrobić jeżeli nasze strony serwuje lighttpd? Z pomocą przychodzi nam mod_expire – moduł przeznaczony dokładnie do tego zadania. Oczywiście nie będziemy się bawić w zbędne wstępy – esencja.
Wybieramy rozszerzenia plików, którym chcemy zwiększyć czas expiracji:
$HTTP["url"] =~ "\.(jpg|gif|png|css|js)$" {
expire.url = ( "" => "access 7 days" )
}
Przeładowujemy lighttpd: service lighttpd restart
potem możemy sprawdzić nagłówki curl -I /wp-content/themes/itheme2/style.css
w odpowiedzi dostaniemy coś takiego:
HTTP/1.1 200 OK
Expires: Fri, 17 Jun 2011 05:52:26 GMT
Cache-Control: max-age=604800, max-age=604800
Content-Type: text/css
Accept-Ranges: bytes
ETag: "646531796"
Last-Modified: Wed, 18 May 2011 13:54:40 GMT
Content-Length: 30943
Date: Fri, 10 Jun 2011 05:52:26 GMT
Server: lighttpd/1.4.28
Do tego koniecznie trzeba uruchomić jeszcze obsługę etagów:
etag.use-inode = "enable"
etag.use-mtime = "enable"
etag.use-size = "enable"
static-file.etags = "enable"
I jak? Działa szybciej? 😉