Search squid archive

Re: How to filter response in squid-3.1.x?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21/10/11 08:44, Kaiwang Chen wrote:
2011/10/20 Amos Jeffries:
On 20/10/11 20:11, Kaiwang Chen wrote:

2011/10/20 Amos Jeffries:

On Thu, 20 Oct 2011 00:39:32 +0800, Kaiwang Chen wrote:

2011/10/19 Amos Jeffries:

On Wed, 19 Oct 2011 05:15:22 +0800, Kaiwang Chen wrote:

<snip>



while 'Cache-Control: max-age=0' as
response header simply marks pre-expiration and Squid fells free to
store a pre-expired response and validates it later when serving next
request?

That is correct.
You will just need to check the Squid release is one of the recent ones
which cache pre-expired content. Some earlier ones did not.

So latest stable should cache pre-expired content? Do you have any
idea since which release that behavior has been introduced?

It went in in small pieces back across this year. I can't point at a particular version sorry. And am not yet certain that it works on all cases yet either.

> I yet
verify thoroughly, but looks like some version of Resin will carry
"Cache-Control: no-cache" with each response. It is said that
"Cache-Control: no-cache" is equal to "Cache-Control: max-age=0"; I
guess it'd better carry "Cache-Control: no-store" instead, to avoid
polluting disk cache and to eliminate those I/O, assuming the response
is dynamic.




Looks like a "Surrogate-Control: max-age=0, revalidate" header
eliminates the need of a filter module in this case? Not sure about
the 'Surrogate-Control: revalidate", since it is not listed in Edge
Architecture Specification, http://www.w3.org/TR/edge-arch, referred
by http://wiki.squid-cache.org/Features/Surrogate.

Squid ignores unknown ones presently. If you need, it can be extended.
Although, if you go with max-age=0, revalidate is redundant.

How to configure Squid-3.1.16 behaves as a surrogate conforming to
Edge Architecture Specification, in particular "Surrogate-Control"
overriding "Cache-Control"?  I believe only the following directives
were related in squid.conf

http_port 80 vhost
httpd_accel_surrogate_id proxy123.example.com


Yes. That is the whole configuration for squid.

I made the response left origin server carrying both
"Surrogate-Control: max-age=61" and "Cache-Control: max-age=100", and
found that Squid revalidated only when the response was already 100
seconds old, rather than 61 seconds old. Packet capture shows that it
was not acting as a surrogate because"Surrogate-Control: max-age=61"
leaked to the client. What am I missing?

The ID parameter on the control header is all you are missing now:

 Surrogate-Control: max-age=61;proxy123.example.com


Using the same ID send in Surrogate-Capability to target that surrogate or group of surrogates.

3.1 may leak to the client anyway, we fixed that in 3.2 IIRC.

Amos
--
Please be using
  Current Stable Squid 2.7.STABLE9 or 3.1.16
  Beta testers wanted for 3.2.0.13


[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux