nixCraft Poll

Topics

Lighttpd client side optimization with mod_expire to controls the expire http header

Posted by Vivek Gite [Last updated: April 17, 2007]

The last time I wrote about Lighttpd optimization tips here and here.

You must optimize server side as well as client side. Client side optimization includes CSS code, javascript and images as they would hardly change.

We can force client web browser not to download files for particular day / hour.

Lighttpd comes with mod_expire which controls the Expire header in the Response Header of HTTP/1.0 messages. It is useful to set it for static files which should be cached aggressively like images, stylesheets or similar.

Step # 1: Make sure mod_expire is active

Open lighttpd config file - /etc/lighttpd/lighttpd.conf
# vi /etc/lighttpd/lighttpd.conf
You must load mod_expire before all other module to avoid ill side effects.

server.modules              = (
                               "mod_expire",
                               "mod_redirect",
                               "mod_alias",
                               "mod_rewrite",
                               "mod_access",
                               "mod_auth",
                               "mod_status",
                               "mod_fastcgi",
                               "mod_compress",
                               "mod_accesslog" )

Step # 2: Set expiration for /js/ and other dirs

Assigns a expiration to all files below the specified path:

expire.url = (
                  "/js/"     => "access 1 days",
                  "/css/"    => "access 3 days",
                  "/figs/" => "access 7 days"
               )

You can also add conditional tags:

$HTTP["url"] =~ "^/assets/figs/" {
     expire.url = ( "" => "access 12 hours" )
}

Save and close the file. Restart lighttpd:
# /etc/init.d/lighttpd restart

Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or RSS feed to get all updates. You can Email this page to a friend.

You may also be interested in other helpful articles:

Leave a Reply

We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word

Copyright © 2004-2008 nixCraft. All rights reserved - TOS/Disclaimer - Privacy policy - Sitemap - Powered by Open source software.