Lighttpd – expirace statických souborů

Pro všechny své weby jsem nedávno dělal rychlostní test pomocí služby Speed Test. Mimo jiné, jsem narazil na problém, že žádný z webů na mém serveru neposílal u statických souborů (obrázky, styly, javascripty) http hlavičku s informací, jak dlouho se má cachovat.
To je podle Speed Testu problém, protože soubory, které tuto informaci nemají, také být vůbec cachované nemusí.

Jak jsem si v praxi ověřil, tak toto není tak docela pravda, soubory se normálně cachovaly. Ale jak dlouho, jak na kterém prohlížeči a jak na kterém proxy serveru, to se těžko zjišťuje. Proto je lepší tu hlavičku posílat. Speed Test doporučuje nastavit expiraci na měsíc do budoucnosti a naopak tam, kde chceme cachování zabránit, nastavit nějakou hodnotu z minulosti.

Zjišťoval jsem proč to Lighttpd neposílá. Důvod je jednoduchý: protože je to odlehčený server, který dělá jen to, co po něm chcete a nic víc. Pokud tedy chcete expiraci statickým souborům nastavovat, je třeba mu to říct a to tak, že do seznamu modulů přidáte mod_expire, který právě toto zajišťuje a nakonfigurujete ho. Následující konfigurace zajistí cachování obrázků, javascriptů a stylů po dobu 30 dnů:

$HTTP["url"] =~ "\.(jpg|gif|png|css|js)$" {
    expire.url = ( "" => "access plus 30 days" )
}

Další možnosti nastavení najdete přímo na stránce Lighttdd modulu mod_expire.

Líbil se vám článek?

1 komentář u „Lighttpd – expirace statických souborů“

  1. Řeším stejný problém na webu klienta nevíte kde bych našel podrobný návod na nastavení expirace souborů? Díky Honza

Napsat komentář

Highslide for Wordpress Plugin