<div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Thats what the "must-revalidate" means. It should work better with just 
max-age or Expires header - and with a longer value than 60 sec since 
this is supposed to be a *permanent* situation.</blockquote><div><br></div><div>As I know "must-revalidate" mean "refuse to return stale responses to the user even if they say 
that stale responses are acceptable" - cached object must be revalidated.<br><br></div><div>Max-age=60 was only used for testing.<br><br></div><div>T<span id="gmail-result_box" class="gmail-short_text" lang="en"><span class="gmail-">he results of my testing:<br><br></span></span></div><div><span id="gmail-result_box" class="gmail-short_text" lang="en"><span class="gmail-">- redirect 302 or 307 - to be cached needs </span></span><span id="gmail-result_box" class="gmail-short_text" lang="en"><span class="gmail-">Cache-Control m</span></span>ax-age > 0 or Expires "access plus 1 seconds"<br><span id="gmail-result_box" class="gmail-short_text" lang="en"><span class="gmail-">- redirect 301 </span></span><span id="gmail-result_box" class="gmail-short_text" lang="en"><span class="gmail-">- to be cached needs </span></span><span id="gmail-result_box" class="gmail-short_text" lang="en"><span class="gmail-">Cache-Control m</span></span>ax-age > 60 or Expires "access plus 61 seconds"</div><br>This is strange because I thought that 301 is always cached without Cache-Control or Expires headers. And I can't find any information in the documentation which describes such behaviour.<br><div><br></div><div class="gmail_extra">zigi<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 21, 2017 at 11:11 AM, Amos Jeffries <span dir="ltr"><<a href="mailto:squid3@treenet.co.nz" target="_blank">squid3@treenet.co.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 21/09/17 20:36, kAja Ziegler wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Amos,<br>
<br>
    302 and 307 are not because as their status description indicates<br>
    they are *temporary* results. They can only be cached if there are<br>
    explicit details from the server indicating for how long.<br>
<br>
<br>
You were right. After I added header Cache-Control "max-age=60, must-revalidate" to the redirects, then the response was cached. Thank you for clarification.<br>
<br>
    301 should be cached unless the object would need revalidation<br>
    immediately.<br>
<br>
<br>
But for 301 I always get MISS - with and without a cache-control header:<br>
<br>
$ curl -v http:/<a href="http://test.example.com/img301.jpg" rel="noreferrer" target="_blank">test.example.com/img301.<wbr>jpg</a> <<a href="http://test.example.com/img301.jpg" rel="noreferrer" target="_blank">http://test.example.com/img30<wbr>1.jpg</a>><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
GET /img301.jpg HTTP/1.1<br>
Host: <a href="http://test.example.com" rel="noreferrer" target="_blank">test.example.com</a> <<a href="http://test.example.com" rel="noreferrer" target="_blank">http://test.example.com</a>><br>
User-Agent: curl/7.50.1<br>
Accept: */*<br>
<br>
</blockquote>
< HTTP/1.1 301 Moved Permanently<br>
< Date: Thu, 21 Sep 2017 06:44:41 GMT<br>
< Server: Apache<br>
< Cache-Control: max-age=60, must-revalidate<br>
< Location: <a href="http://test.example.com" rel="noreferrer" target="_blank">http://test.example.com</a> <<a href="http://test.example.com" rel="noreferrer" target="_blank">http://test.example.com</a>>/img.<wbr>svg<br>
< Content-Length: 247<br>
< Content-Type: text/html; charset=iso-8859-1<br>
< X-Cache: MISS from <squid-proxy><br>
< X-Cache-Lookup: MISS from <squid-proxy>:3128<br>
<br>
I can't find any information on Squid wiki or via Google if the object need revalidation immediately.<br>
</blockquote>
<br>
Thats what the "must-revalidate" means. It should work better with just max-age or Expires header - and with a longer value than 60 sec since this is supposed to be a *permanent* situation.<br>
<br>
<br>
Amos<br>
______________________________<wbr>_________________<br>
squid-users mailing list<br>
<a href="mailto:squid-users@lists.squid-cache.org" target="_blank">squid-users@lists.squid-cache.<wbr>org</a><br>
<a href="http://lists.squid-cache.org/listinfo/squid-users" rel="noreferrer" target="_blank">http://lists.squid-cache.org/l<wbr>istinfo/squid-users</a><br>
</blockquote></div><br></div></div>