Re: i37: Vary and non-existant headers

Mark Nottingham wrote:
> Possibly.
> 
> How about:
> 
> When a cache receives a request that can be satisfied by a stored 
> response that includes a Vary header field (Section 3.5), it MUST NOT 
> use that response unless all of the selecting request-headers nominated 
> by the Vary header match in both the original request associated with 
> the stored response, and the presented request.

That still makes it sound as if "selecting request headers" is 
well-defined in absence of a response from origin server. So, how about:

"When a cache receives a request that can be satisfied by a stored
response that includes a Vary header field (Section 3.5), it MUST NOT
use that response unless all of the selecting request-headers nominated
by the *stored* Vary header match in both the original request 
associated with the stored response, and the presented request."

> and adding this to the subsequent paragraph (defining what it means to 
> match):
> 
> If a header field is absent from a a request, it can only match another 
> request if it is also absent there.

Yes (if we can agree on allowing proxies to canonicalize, this will of 
course need tuning).

>> Also, I just noticed that the definition of "selecting headers" now is 
>> down in the definition of "Vary". Maybe we should undo this, add a 
>> forward reference, or move it into the Terminology section...
> 
> Yes, that needs some massaging.

BR, Julian

Received on Thursday, 7 May 2009 09:01:34 UTC