RE: i37: Vary and non-existant headers

Adrien de Croy wrote:
> In the case of say Accept-Encoding, what if a server sends a vary tag
> with Accept-Encoding in it, yet there is no Content-Encoding field (e.g.
> no encoding, but the server selected on Accept-Encoding)?

That is the normal case. If the server decided to send a non-encoded version
due to the absence of an Accept-Encoding, then it has to include
Accept-Encoding in the Vary. 

> Or is that second-guessing the server and prohibited?

Yes, the cache must return what the server told it to return:

   If instead the cache receives a full response (i.e., one with a
   response body), it is used to satisfy the request and replace the
   stored response. [[anchor8: Should there be a requirement here?]]

and:

   If the server responds with 304 (Not
   Modified) and includes an entity tag or Content-Location that
   indicates the entity to be used, that cached response MUST be used
   to satisfy the presented request [...]

- Brian

Received on Friday, 8 May 2009 00:48:58 UTC