Apache far future expires10 Jun 2010
An additional benefit of using expires headers is they reduce the number of requests, allowing web pages to load quicker and use less bandwidth. This can have additional benefits if your visitors have limited bandwidth (for example accessing the site via a mobile)
For Apache the quickest way is to add the following to your .htaccess file.
<FilesMatch "\.(gif|png|jpg|css|js|swf|flv|ogg)$"> ExpiresActive On ExpiresDefault "access plus 4 weeks" FileETag none </FilesMatch>
This will send an expires header allowing the file to not be requested for 4 weeks for all files having the extensions .gif, .png, .jpg, .css, .js, .swf, .flv and .ogg.
For the above to work you need to ensure that the Apache mod_expires is enabled. In debian/Ubuntu this can easily be done by running
- Any files with caching headers need to have a versioned filename, otherwise the changed files will not be downloaded when they are updated until the expires date has passed
Yahoo Developer Network has a discussion of adding an Expires header