Support Cache-Control no-cache/private as per RFC2616 ?

BUSTARRET, Jean-francois jfbustarret at wat.tv
Mon Nov 19 17:50:13 CET 2007


Yet http://varnish.projects.linpro.no/wiki/FAQ says "Varnish was written from the ground up to be a high performance caching reverse proxy." Varnish is a cache, and should follow HTTP/1.1 RFCs.

http://varnish.projects.linpro.no/wiki/HTTPFeatures also references these features :
355	MUST NOT	14.9.1	cache responses with cache-control: private
356	MUST NOT	14.9.1	use responses with cache-control: no-cache to satisfy other requests without successful revalidation

I don't see a problem of having to have the Cache-control logic written in VCL, as long as :
- the default configuration uses it (or the vcl code is in the man pages, not in google). 
- it is as fast as C code (vcl is compiled, so it's ok)
- I don't have to use regexps. For now, I have to use two of them : (obj.http.Pragma ~ "no-cache" || obj.http.Cache-Control ~ "no-cache" - I am not using Cache-control: private), but two strpos-like would do the job, with less overhead.

Jean-François

> -----Message d'origine-----
> De : varnish-misc-bounces at projects.linpro.no 
> [mailto:varnish-misc-bounces at projects.linpro.no] De la part 
> de Poul-Henning Kamp
> Envoyé : lundi 19 novembre 2007 17:20
> À : BUSTARRET, Jean-francois
> Cc : varnish-misc at projects.linpro.no
> Objet : Re: Support Cache-Control no-cache/private as per RFC2616 ? 
> 
> In message 
> <53C652A09719C54DA24741D0157CB2695FF981 at TFPRDEXS1.tf1.groupetf1.fr>,
>  "BUSTARRET, Jean-francois" writes:
> 
> >"If the no-cache directive does not specify a field-name, 
> then a cache 
> >MUST NOT [...]
> 
> Varnish is not a cache in the RFC2616 sense.  It more of an 
> extension of the web-server, which is probably best thought 
> of as "a webserver that picks up its contents with HTTP".
> 
> Therefore, a lot of what RFC2616 has to say about caches do 
> not apply to Varnish.
> 
> The key distinction is that a RFC2616 cache is not under the 
> content providers control, so it must follow whatever 
> intructions he gives in the HTTP headers, whereas Varnish is 
> under his control and he therefore has other means of 
> instruction (notably VCL).
> 
> -- 
> Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
> phk at FreeBSD.ORG         | TCP/IP since RFC 956
> FreeBSD committer       | BSD since 4.3-tahoe    
> Never attribute to malice what can adequately be explained by 
> incompetence.
> _______________________________________________
> varnish-misc mailing list
> varnish-misc at projects.linpro.no
> http://projects.linpro.no/mailman/listinfo/varnish-misc
> 



More information about the varnish-dev mailing list