on 06/06/2006 14:50 Joshua Slive said the following:
On 6/6/06, Matthew Claridge <[EMAIL PROTECTED]> wrote:
on 06/06/2006 14:30 Joshua Slive said the following:
> On 6/6/06, Matthew Claridge <[EMAIL PROTECTED]> wrote:
>> We've looked into mod_expiry, but this doesn't really work,
because as
>> soon as the expiry time is reached the browser starts requesting it
>> again and a new expiry is never set until the server actually
sends the
>> image, so we can make this work with huge expiry times, but thats
just
>> not practical as it means the images are never requested even if
we've
>> changed them.
>
>
> Two issues here:
>
> 1. The server should indeed be updating the Expires and Cache-Control
> headers even on 304 responses. See RFC2616 section 10.3.5. If it is
> not doing that, it is a bug. (It may also be a bug in the client that
> ignores the updated Cache-Control.)
>
> 2. A good practice is to set very-long expire (Cache-Control: max-age)
> headers on your images and then *never* change them. If you need to
> update the content, use a different filename. Of course, I believe
> most browsers and caches tend to ignore expiry dates more than a day
> or so in the future anyway.
Thanks for this. I originally thought your first point was correct and
that this was a bug. Certainly it was reported as a bug in version 1.1.1
However, the docs for v2 state that once the expiry has passed, that
copy of the file is considered invalid and a new copy of the file MUST
be obtained from the server. This will of course never happen because
the server just sends 304s :-)
The documentation you quote is just a general statement to help people
understand how cache-control works. It is not an authoratative
documentation on http caching rules. That is contained RFC2616. In
this context, "a new copy" should also include a 304 response with an
updated expiry time.
Have you actually tested this? It should be easy enough to just make
sure that apache is updating cache-control headers in 304 responses.
No point arguing theoretically over something that is so easy to test.
Fair enough....I'm just reading it wrong :-)
Apache does send a Cache-control header of "max-age=0", which if I'm
right means it isn't updatiing the expiry time?
Matt
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
" from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]