Isn't this the equivalent of and max-age=5 and s-maxage=0 ?<br><br><div class="gmail_quote">On Wed, Jan 20, 2010 at 7:19 AM, Bedis 9 <span dir="ltr"><<a href="mailto:bedis9@gmail.com">bedis9@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi,<br>
<br>
Netcache devices had the X-Accel-Cache-Control headers in order to<br>
allow an origin server to setup different Cache-Control parameters for<br>
the cache and the end-user.<br>
The netcache will follow the X-Accel-Cache-Control while the end user<br>
will follow the Cache-Control.<br>
<br>
I've a few customer using this, mainly for sports events where "live"<br>
is the key.<br>
They setup X-Accel-Cache-Control to max-age=5 while Cache-Control is<br>
set to no-cache.<br>
That way, all the load generated by thousends of request per second<br>
for "live" stuff is offloaded to the cache layer.<br>
Only a few request goes back to the origin.<br>
<br>
<br>
I was able to reproduce such behavior with the following inline C:<br>
sub vcl_fetch {<br>
[...]<br>
# Check if X-Accel-Cache-Control exists and follow it<br>
        if (obj.http.X-Accel-Cache-Control) {<br>
C{<br>
        char *cache;<br>
        int max_age = 0;<br>
        cache = VRT_GetHdr(sp, HDR_OBJ, "\026X-Accel-Cache-Control:");<br>
        if(cache) {<br>
                char *s = NULL;<br>
                /* Looking for max-age */<br>
                if (s = strstr(cache, "max-age=")) {<br>
                        s+=8;<br>
                        max_age = strtoul(s, 0, 0);<br>
                        if (max_age) {<br>
                                VRT_l_obj_ttl(sp, max_age);<br>
                        }<br>
                }<br>
        }<br>
}C<br>
       unset obj.http.X-Accel-Cache-Control;<br>
        }<br>
<br>
# Cache-Control and Pragma headers preventing caching<br>
        if ((!obj.http.X-Accel-Cache-Control) && (obj.http.Pragma ~<br>
"no-cache" || obj.http.Cache-Control ~ "(no-cache|no-store|private)"))<br>
{<br>
                pass;<br>
        }<br>
<br>
}<br>
<br>
[...]<br>
<br>
}<br>
<br>
<br>
Maybe it can be useful to somebody else :)<br>
<br>
cheers<br>
<div><div></div><div class="h5">_______________________________________________<br>
varnish-misc mailing list<br>
<a href="mailto:varnish-misc@projects.linpro.no">varnish-misc@projects.linpro.no</a><br>
<a href="http://projects.linpro.no/mailman/listinfo/varnish-misc" target="_blank">http://projects.linpro.no/mailman/listinfo/varnish-misc</a><br>
</div></div></blockquote></div><br>