Is there a plan when HTTP/1.1 completely will be supported in all sides? I mean, I hardly can't believe it -- HTTP/1.1 was specified in 2008. Why waiting so long? Thanks Markus > -----Original Message----- > From: Amos Jeffries [mailto:squid3@xxxxxxxxxxxxx] > Sent: Mittwoch, 3. September 2008 15:40 > To: Markus Karg > Cc: squid-users@xxxxxxxxxxxxxxx > Subject: Re: min-fresh / max-stale not working? > > Markus Karg wrote: > > Sorry it was a typo. The test was done mit SQUID-2.7-STABLE4 > actually. > > The HTTP/1.1-Support is only experimental??? > > Brand new in 2.7 and some bugs still being found. > It's also only on one side of Squid, the one which links to Servers > IIRC, so the client-facing code is still HTTP/1.0-only. > > Amos > > > > >> -----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 > > > > > -- > Please use Squid 2.7.STABLE4 or 3.0.STABLE8