Re: 12, 14.43: resource arguments and conneg

Paul Burchard:
>Larry Masinter <> writes:
>> All your missing is that the text apparently doesn't say
>> something that we all assume, which one might otherwise write as: 
>>	Vary: {entity-body}, {method}
>> that is, responses always depend on the entity body and the
>> method, even when the results are cachable (as with cachable
>> POSTs.)
>Right...though this example shows why it may be worth spelling out  
>the assumptions.  The "argument" of a method consists of not just  
>the bare entity body in the request, but also any associated *entity  
>headers* (as caches must be aware).  So the "understood variation"  
>of a response must be (to use your notation):
>   Vary: {request-URI}, {method}, {{entity-headers}, {entity-body}}

Hm, the progression of the Vary header in this thread even *looks*
like a can of worms that was just opened.

The "understood variation" is a huge can of worms.  All conditional
request headers and the Range header are for example inside the realm
of `understood variation', and proxies will use knowledge about the
exact nature of this understood variation when handling requests on
varying resources, even though the 04 draft never explicitly says they
can, and even though it in can be read to imply that they cannot.

The Accept* headers are inside the realm of understood variation for
what the 03 draft called `plain resources': you do not send a Vary: *
along with your `406 not acceptable' response.  For what the 03 draft
called `generic resources', some Accept* headers can be outside of
this realm, so that they must be in the Vary header.

I tried to talk about what you call understood variation in the Vary
section I wrote for the 03 draft, and this was one of the reasons why
nobody was able to understand the section.

In my recent message (Content negotiation and Vary (1.3, 12, 13.5,
14.43)), which I wrote before having read this thread, I argue for us
keeping this can of worms closed.  I suspect that Roy's text about
representations of a resource for a given response (code) is a close
enough approximation to the truth to make interoperability possible.

Give me one month, and I can write a nice 10-page section, which
people might might understand, that exactly defines how `understood
variation' works.  But this is not an option right now, and even if it
were, I'm not volunteering anymore to write on this subject.

>Paul Burchard	<>


Received on Sunday, 2 June 1996 08:48:28 UTC