Lighttpd i mod_expire

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? 😉