Testing Varnish

Mark Nottingham mnot at yahoo-inc.com
Fri Sep 22 19:19:17 CEST 2006

On 2006/09/21, at 3:07 AM, Poul-Henning Kamp wrote:

> In message <E077482A-817A-4F54-A91A-C74AA34FD7FC at yahoo-inc.com>,  
> Mark Nottingha
> m writes:
>>> Varnish is not a proxy in the RFC2616 sense.  Varnish
>>> is an origin server.  An origin server which gets its contents
>>> using HTTP, but an origin server nontheless.
>> That's a gateway, a.k.a. surrogate, a.k.a. reverse proxy.
> In RFC2616 context, Varnish is an origin server and a client, but
> it is not a proxy or a gateway.  Varnish is designed and built to
> be able to violate the semantic transparancy requirement for both
> of those.

Semantic transparency requirements are placed on caches, not gateways  
(or proxies, for that matter). "Reverse proxies," "accelerators,"  
"surrogates," most "CDNs" and similar systems are all gateways; they  
act as the origin server, from the client's point of view. Most of  
them have caches that aren't semantically transparent, because  
they've been configured (either directly, or with protocol  
extensions) to do things beyond "normal" HTTP.

> Therefore Varnish will look a lot like a proxy or gateway when you
> look at it first time.  But hopefully it will be much more than
> that to you, once you get to know it better.

I think this is a good expression of my concern. Most products like  
Varnish start from a base of being a conformant HTTP cache, and build  
extensions and modifications on top of that. If that isn't the  
intent, it needs to be said very clearly.

> All that however, does not change the fact that in the separate
> roles of client and origin server, Varnish should comply with
> RFC2616 to the extent possible, reasonable and productive.

That's good to hear. There seem to be a number of HTTP violations  
(that aren't specific to proxies) in Varnish; again, I'd encourage  
you to talk to the Measurement Factory folks and make their tests (or  
something like them) part of your QA suite.


Mark Nottingham
mnot at yahoo-inc.com

More information about the varnish-dev mailing list