Re: [squid-users] If-Modified-Since requests: optimizing squids behaviour

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Tue, 11 Nov 2003 14:05:52 +0100 (CET)

On Tue, 11 Nov 2003, Stefan Kuech wrote:

> stored object. In all Not-Modified responses, which I have seen in my
> network, there is no Last-Modified header. As a result, squid overwrites the
> stored Last-Modified value by -1.

Hmmm.. not good.

> In my Opinion, the time of last modification can safely be considered as
> unchanged as long as the object itself has not been modified.

Indeed.

Please file a bug report for this issue.

> 2.) Client's IMS requests always let squid contact the origin server

this should only happens if either

a) You are using ie_refresh to work around the brokenness of interception
caching.

or

b) The user uses the reload button in the browser, or the browser
otherwise forces the proxy to go direct.

or

c) Squid considered the object as stale.

> squid-3.0-PRE3-20031022/src/client_side_request.cc Line 552:
>
> changed from
>
> request->ims = httpHeaderGetTime(req_hdr, HDR_IF_MODIFIED_SINCE);
>
> to:
>
> request->ims = -1;

This seems to contradict the above, unless the cause is item 'a'.

If it is not 'a' then please file a bug report for this as well.

In both reports, please include full MIME headers of request/responses
using log_mime_hdrs.

> ignore-ims: Ignores client's If-Modified-Since requests and let squid handle
> them as normal requests. Doing this VIOLATES the HTTP standard.

please file a enhancement request report for this, or hire a developer to
have the feature developed for you.

> lastmod-into-expires: If the object does not have an Expires header, squid
> will calculate it by applying the given percentage value to the object's
> last modification time. In the following, squid will treat the resulting
> value as if it were given by the origin web server. That means, the
> calculated expiration time will be used in both, the object store and the
> client side reply. Doing this VIOLATES the HTTP standard.

And is not needed, and actually makes caching worse at the client side..

to get clients behaving correctly you need to have Squid Bug #7 solved..

If you want controlled expiry times these should be set by the web server.

but then the reverse proxy is the official web server so the boundaries
are a little blurred when talking about reverse proxies.. you do not need
to care about what the HTTP standard allows or not when forwarding or
caching requests in a reverse proxy as long as the HTTP standard is
fulfilled in responses/requests to the client.

Regards
Henrik
Received on Tue Nov 11 2003 - 06:06:00 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 17:21:13 MST