Re: Summary of opinions on Negotiate header
Daniel DuBois (dan@spyglass.com)
Mon, 30 Sep 1996 13:34:20 -0700
>>So why do you need Vary: Negotiate at all? (suggestions on
>><negotiable> later).
>
>Here is an example. Suppose I have variants in the languages `en' and
>`nl', and that I get
>
> Accept-Language: dk, *;q=0.5
>
>from a user agent. Now, if the user agent is capable of transparent
>negotiation, I will send a list response (300 response), so that the
>user agent can choose the best variant itself (it may have more
>language preference information than it is sending). If the user
>agent cannot do transparent negotiation, I will send the `en' variant
>(my `en' variant has a link to the `nl' variant in it anyway). So in
>this case, just sending
>
> Vary: Accept-Language
>
>is not enough: the response also varies on the header which expresses
>if the user agent can negotiate.
To expand on this, suppose I make
Negotiate: dan
which says "select the best variant by adding the q values" (as opposed to
multiplying the q values like in tcn). Even though all the Accept,
Accept-langue q's, etc, are the same, the algorithm used to select the
variant has changed, so the response does vary on Negotiate:
It's not just the data, it's the algorithm.
-----
Daniel DuBois, Traveling Coderman
http://www.spyglass.com/~ddubois/