<div dir="ltr"><div class="gmail_extra"><div><div class="gmail_signature"><div dir="ltr"><div>On 7 December 2015 at 15:05, Geoff Simmons <span dir="ltr"><<a href="mailto:geoff@uplex.de" target="_blank">geoff@uplex.de</a>></span> wrote:<br></div></div></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA256<br>
<span class=""><br>
On 12/07/2015 02:30 PM, Rubén Romero wrote:<br>
><br>
> While on the topic of changing defaults, I think we should include<br>
> Surrogate-Control and ESI parsing in to the builtin VCL as<br>
> discussed yesterday.<br>
><br>
> This was discussed last year:<br>
> <a href="https://www.varnish-cache.org/trac/wiki/VDD14Q3#Surrogate-Control" rel="noreferrer" target="_blank">https://www.varnish-cache.org/trac/wiki/VDD14Q3#Surrogate-Control</a><br>
><br>
> So we now need to follow-up on that and the discussions during VUGX<br>
> last week.<br>
<br>
</span>The conversations we've had in the past were more about using<br>
Surrogate-Control to set TTLs that are targeted to the proxy, but not<br>
for downstream caches. I believe we never got further than "yes we<br>
should have that, and a VMOD should do it" -- partially my fault, I<br>
should add in fairness.<br>
<br>
I didn't want to get nitpicky about this at VUG, but there's a bit of<br>
a problem with Varnish adding Surrogate-Control:ESI/1.0 to the backend<br>
request header (whether by default or not), since Varnish does not in<br>
fact support the full 1.0 ESI spec -- only the include and remove<br>
tags. If the idea is that backends are informed that they can use ESI<br>
in their responses, either for Varnish or, say, a CDN that might use<br>
another proxy, "ESI/1.0" would suggest that the backends can use ESI<br>
tags that Varnish would ignore.<br>
<br></blockquote><div>I forgot that Varnish does not support the full ESI spec. I don't think Varnish should signal ESI/1.0 as long as it doesn't support the full spec. That could give some people an unpleasant surprise. </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
If we really want to do this, the tag might have to be something like<br>
"ESI/Varnish" or "ESI/include&remove" or "VESI/x.y". (There's a<br>
precedent for the latter -- Oracle Web Cache uses "ORAESI/x.y.z".)<br></blockquote><div><br></div><div>I would prefer if Varnish somehow advertised it's ESI capabilities by default. I don't really have an opinion on how exactly it should be done as long as we don't risk to break anything that correctly implements the full ESI spec . Any of your 3 suggestions would work for me personally.</div><div><br></div><div>/Kristian</div></div></div></div>