Meaning of the Vary:* HTTP header

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Meaning of the Vary:* HTTP header

Valeriano Tortola
Hi everybody,

First, I would like to apologize if this is not the right place to ask a question.

As far as I know, the HTTP Header Vary specifies a comma separated list of HTTP headers that need to be considered by caches together with the URL when deciding if a request is a cache hit or miss.

If that header is omitted, means that only the URL will be considered. Are this assumptions right?

But what happen when the header is Vary:* ?

RFC 2616 14.4

A Vary field value of * signals that unspecified parameters not limited to the request-headers (e.g., the network address of the client), play a role in the selection of the response representation. The * value MUST NOT be generated by a proxy server; it may only be generated by an origin server.

RFC 2616 13.6

A Vary header field-value of * always fails to match and subsequent requests on that resource can only be properly interpreted by the origin server.

Does it means that all items with this header are going to be a cache miss?

I find out that ASP.NET is returning that HTTP header if you use their OutputCacheAttribute, and you have to disable explicitly that behaviour if you don't want the header, or you want to specify custom headers in Vary, so I (want to) believe it is unlikely.

Which is the practical meaning of Vary:* ? And what is the difference between a response with this header and another without the Vary header at all?

Thanks. 

--
_____________________________________________________________________
V
aleriano Tórtola Luis

[hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Meaning of the Vary:* HTTP header

Mark Nottingham-2

On 30/09/2011, at 8:37 PM, Valeriano Tortola wrote:

> Does it means that all items with this header are going to be a cache miss?

Yes.


--
Mark Nottingham   http://www.mnot.net/