Sorry it was a typo. The test was done mit SQUID-2.7-STABLE4 actually. The HTTP/1.1-Support is only experimental??? > -----Original Message----- > From: Amos Jeffries [mailto:squid3@xxxxxxxxxxxxx] > Sent: Mittwoch, 3. September 2008 07:14 > To: Markus Karg > Cc: squid-users@xxxxxxxxxxxxxxx > Subject: Re: min-fresh / max-stale not working? > > > Dear SQUID Community, > > > > it seems as if SQUID is not dealing correctly with "min-fresh" and > > "max-stale": > > > > Currently we are evaluating the use of SQUID-2.6-STABLE4. It all > seems > > to work pretty well, but just "min-fresh" and "max-stale" is not > > working. Our client agent wants to guarantee to get data that is > fresh > > for a specific amount of time. So we provide "min-fresh=3500" and > > "max-stale=0". To verify SQUID's behaviour we have programmed an > origin > > server the always responds with some static headers and entity data, > and > > a client that requests exactly that information, via SQUID as a > proxy. > > The client uses the Cache-Control header with a min-fresh=3500 and > > max-stale=0 value, and the server is always sending data with a > > max-age=3600 value. But the client gets from SQUID a 200 OK response > > having max-age=3600 and Age=502! So, the current age of 502 plus the > > desired min-fresh of 3500 is 4002, minus the max-stale of 0 still is > > 4002, what is much more than the max-age of 3600 -- so the request > > cannot be satisfied without a warning, since the response will not be > > fresh long enough! So we expect to get at least a Warning header. But > > there is none! It looks like SQUID just ignores the min-fresh=3500 > and > > max-stale=0 headers! > > > > The HTTP/1.1 specification says: > > 13.1.2 Warnings > > Whenever a cache returns a response that is neither first-hand nor > > "fresh enough" (in the sense of condition 2 in section 13.1.1), it > MUST > > attach a warning to that effect, using a Warning general-header. > > also it says: > > 13.1.1 Cache Correctness > > If a stored response is not "fresh enough" by the most restrictive > > freshness requirement of both the client and the origin server, in > > carefully considered circumstances the cache MAY still return the > > response with the appropriate Warning header. > > > > In the default case, this means it meets the least restrictive > freshness > > requirement of the client, origin server, and cache (see section > 14.9) > > > > So for me it looks as if SQUID is buggy, since it does not add the > > mandatory Warning header. Can that be true? Or do I have to enable > some > > switch like "HTTP/1.1-Compliance = YES"? > > Squid 2.6 is HTTP/1.0 only. For any HTTP/1.1 stuff you will need Squid > 2.7 and its experimental support. > > As for the cache controls, someone more knowledgeable will hopefully > speak > up. > > Amos