I'm really confused by all that caching stuff. I'm trying to setup
mod_expires to reduce the number of
HTTP Requests from my website to the server.
I did well so far, I installed
mod_expires and wrote a little .conf file from the instructions on http://httpd.apache.org/docs/2.0/mod/mod_expires.html.
Now, for instance, all my
.png, .gif, .jpeg files have a
Cache-Control header. My expected result was, that the browser won't do any
GET Request within the time period (given from the
Cache-Control value). But it does, every single file fires a request and receives
HTTP 304 not Modified.
That is the wrong behavior isn't it ? It should load that files from the internal cache.
One thing I don't understand is, that the browser sends a
Cache-Control: max-age=0. Should it be like that?
Here is an complete example
Request + Response headers for a single
Host dev-mgg.localdomain User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:22.214.171.124) Gecko/20100722 Firefox/3.6.8 Accept image/png,image/*;q=0.8,*/*;q=0.5 Accept-Language de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding gzip,deflate Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive 115 Connection keep-alive Referer http://dev-mgg.localdomain/css/global/icons.css?18224 Cookie IR_SQLPwdStore=; IR_SQLUser=sysadm If-Modified-Since Thu, 24 Jul 2008 06:24:11 GMT If-None-Match "4010127-3c4-452bf1aefd8c0" Cache-Control max-age=0
Date Mon, 02 Aug 2010 14:00:28 GMT Server Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny8 with Suhosin-Patch mod_perl/2.0.4 Perl/v5.10.0 Connection Keep-Alive Keep-Alive timeout=15, max=59 Etag "4010127-3c4-452bf1aefd8c0" Expires Mon, 02 Aug 2010 14:04:28 GMT Cache-Control max-age=240