<div dir="ltr">Hi Eliezer,<div><br></div><div>Yes, Jaap is my first name :)</div><div>I might have not mentioned this before, but I'm using Squid as a reverse proxy / in acceleration mode. So as far as I know your comments are not applicable. Thanks for your thoughts though!</div><div><br></div><div>Jaap</div><div class="gmail_extra"><br><div class="gmail_quote">2016-06-19 7:16 GMT+02:00 Eliezer Croitoru <span dir="ltr"><<a href="mailto:eliezer@ngtech.co.il" target="_blank">eliezer@ngtech.co.il</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey Jaap, (not sure if it's the first name)<br>
<br>
The issue is that there are consequences for cached objects not being revalidated.<br>
Also if there are sites which needs to be targeted it would be a different story.<br>
Some might not understand the difference between a cache and an archive or want it to act as one.<br>
A cache is meant to be temporary while archive should last longer.<br>
One example is Windows Updates which might needs to be archived since it's always needed.<br>
<br>
If you have a specific targeted site, let me know and I will try to see if something can be done.<br>
<br>
Eliezer<br>
<br>
----<br>
Eliezer Croitoru<br>
Linux System Administrator<br>
Mobile: <a href="tel:%2B972-5-28704261" value="+972528704261">+972-5-28704261</a><br>
Email: <a href="mailto:eliezer@ngtech.co.il">eliezer@ngtech.co.il</a><br>
<span class="im HOEnZb"><br>
<br>
-----Original Message-----<br>
From: squid-users [mailto:<a href="mailto:squid-users-bounces@lists.squid-cache.org">squid-users-bounces@lists.squid-cache.org</a>] On Behalf Of Alex Rousskov<br>
Sent: Friday, June 17, 2016 6:22 PM<br>
To: Jaap Dam<br>
Cc: <a href="mailto:squid-users@lists.squid-cache.org">squid-users@lists.squid-cache.org</a><br>
Subject: Re: [squid-users] Queue incoming requests when fetching from origin<br>
<br>
</span><div class="HOEnZb"><div class="h5">On 06/17/2016 05:33 AM, Jaap Dam wrote:<br>
<br>
> From what I<br>
> understand, re-validation is useful when done with If-Modified-Since<br>
> or If-None-Match.<br>
<br>
To revalidate stale objects, Squid uses conditional requests. That is not the only way to revalidate, but that is what Squid does.<br>
<br>
<br>
> However my responses do not provide the E-Tag header nor the<br>
> Last-Modified header.<br>
<br>
IIRC, the If-Modified-Since field in a conditional request may use the response Date header when Last-Modified is not available. If the origin server supports checking resource modification times (without disclosing them in responses for some reason), revalidation would still work as intended.<br>
<br>
<br>
> Is it possible for Squid to never revalidate but always to assume<br>
> 'pure cache-miss' when a resource is stale?<br>
<br>
I am not sure. Others may be able to answer this question authoritatively. If you force me to guess, I would say "no".<br>
<br>
Alex.<br>
<br>
<br>
<br>
> 2016-06-16 17:20 GMT+02:00 Alex Rousskov<br>
> <<a href="mailto:rousskov@measurement-factory.com">rousskov@measurement-factory.com</a><br>
> <mailto:<a href="mailto:rousskov@measurement-factory.com">rousskov@measurement-factory.com</a>>>:<br>
><br>
> On 06/16/2016 01:45 AM, Jaap Dam wrote:<br>
><br>
> > Thanks for the information. Could you elaborate on when collapsed<br>
> > forwarding does apply?<br>
><br>
> Squid is currently able to collapse HTTP client [miss] requests (but not<br>
> internally generated HTTP requests triggered by HTTP client requests).<br>
> Furthermore, to be collapsable, the request must have no markings that<br>
> make the future response uncachable.<br>
><br>
><br>
> > With your extra information, my assumption would<br>
> > be that it only applies on requests of a resource that has never been<br>
> > cached before.<br>
><br>
> I would not phrase it like that because Squid does not remember was has<br>
> been cached before, only what is still cached at the query time. There<br>
> are three primary cases for an HTTP client request to consider here:<br>
><br>
> * pure cache hit: Collapsing is inapplicable because Squid does not send<br>
> any requests (there is nothing to collapse). Each HTTP client request is<br>
> satisfied from the Squid cache.<br>
><br>
> * pure cache miss: Multiple requests for the same missing object can be<br>
> collapsed if collapsed_forwarding is enabled. Collapsable requests have<br>
> no markings that make the future response uncachable.<br>
><br>
> * revalidation: The requested object was found in the cache but it was<br>
> stale. Squid sends an internal "revalidation" request to the origin<br>
> server or peer. These internal requests are currently not collapsed. We<br>
> are working on collapsing them as well.<br>
><br>
><br>
> > Secondly would you have a suggestion for solving the issue I'm facing?<br>
><br>
><br>
> I have not studied the issue you are facing, but if you think collapsing<br>
> revalidation requests would solve your problem, then either wait for us<br>
> to finish initial collapsed revalidation support (and then see if it<br>
> solves your problem) or co-sponsor that ongoing development (to make<br>
> sure it solves your problem).<br>
><br>
><br>
> HTH,<br>
><br>
> Alex.<br>
><br>
><br>
><br>
> > 2016-06-15 17:19 GMT+02:00 Alex Rousskov:<br>
> ><br>
> > On 06/14/2016 02:51 AM, Jaap Dam wrote:<br>
> ><br>
> > > I've part of the logging as an attachment. I'm requesting a<br>
> single URL<br>
> > > in this log. The log starts with a stale cache of the item.<br>
> ><br>
> > Collapsed forwarding does not apply to cache revalidation<br>
> requests yet.<br>
> > Factory is working on implementing collapsed revalidations (in<br>
> some<br>
> > environments), but I cannot promise a specific delivery date<br>
> or that<br>
> > your particular environment will be covered.<br>
> ><br>
> > Alex.<br>
> ><br>
> ><br>
> ><br>
> ><br>
> > > 2016-06-13 15:34 GMT+02:00 Amos Jeffries:<br>
> > ><br>
> > > On 14/06/2016 12:29 a.m., Jaap Dam wrote:<br>
> > > > Is the collapsed_forwarding directive the correct one<br>
> to use<br>
> > for my<br>
> > > > use-case or am i missing something?<br>
> > ><br>
> > > Yes it is correct so far as I am understanding your need.<br>
> > ><br>
> > > For further debugging about what is going on you will<br>
> need the<br>
> > HTTP<br>
> > > messages involved. Add the directive "debug_options 11,2<br>
> 20,3"<br>
> > to your<br>
> > > config to get them logged in cache.log.<br>
> ><br>
> ><br>
><br>
><br>
<br>
</div></div><div class="HOEnZb"><div class="h5">_______________________________________________<br>
squid-users mailing list<br>
<a href="mailto:squid-users@lists.squid-cache.org">squid-users@lists.squid-cache.org</a><br>
<a href="http://lists.squid-cache.org/listinfo/squid-users" rel="noreferrer" target="_blank">http://lists.squid-cache.org/listinfo/squid-users</a><br>
<br>
</div></div></blockquote></div><br></div></div>