--------
In message <[email protected]>, Geoff Simmons writes:

>I think I'm unsure about what we're striving for in Varnish 4 --
>wasn't the goal to move as much caching policy as possible out to VCL,
>with good defaults in builtin.vcl?

Something like that.

It's a bit more complicated though.

The first design rule is to not make "the pascal mistake", by which
I mean that the writer of the VCL can _always_ do what he wants to do.

That means that as a general rule we cannot call VCL and then munge
headers afterwards in C-code, we should always do that before VCL
or as a result of things done in VCL.

That is not _always_ possible and certainly not always desirable.

For instance, we don't want to send 'T-E: Chunked' unless we are
actually going to deliver the object using our chunked code-path,
no matter what the VCL writer might think.

The trick here is to try to put a dividing line between stuff which
is protocol (T-E: Chunked, Content-Length etc.) and things which are
policy (Vary, A-E, etc.)

Given how utterly messed up the HTTP "standard" is, that is not
anywhere as easy as it should be.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
[email protected]         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

_______________________________________________
varnish-dev mailing list
[email protected]
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev

Reply via email to