- From: Daniel DuBois <dan@spyglass.com>
- Date: Tue, 04 Jun 1996 11:05:22 -0500
- To: "Roy T. Fielding" <fielding@liege.ICS.UCI.EDU>, koen holtman <koenh@fatima.dds.nl>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
>That is not true. Agent driven negotiation is indeed usable for
>error responses for the exact same reason that "click here to
>get the English version of this message" is usable in error responses.
>The second request in agent-driven negotiation is always a GET on
>a different resource.
I'm still uncomfortable with this idea. I always perceived Vary: described
attributes of a resource at a URI, not somehting that described attributes
of a message that is returned from a request for that URI. Subtley
different, so here's what I mean:
I request
GET /foo HTTP/1.1
Accept: text/dvi
Accept-Language: fr-CA
Where the server has a 1) text/plain, fr-FR variant and a 2) text/html, en
varaint.
Let's say the server is to busy to process the request and sends back a 503
error. Let's also say the server is a smart server, and has error messages
in japanese and english. So it sends back(?):
HTTP/1.1 503 Busy
Vary: Accept-Language
The error message in english.
Do we not see a problem here? The intermediary provxy cache now thinks this
URI only varies by Accept-Language, when in fact it varies by
Accept-Language and Accept.
If you think this example is contrivied, I'm sure there are others. Imagine
the same scenario with a None Acceptable message. The server-sife entity
chosen is obviosuly very dependent on the Accept-* haders, not just the
Accept-Language header that the error response varies on. A proxy could be
seriously mislead here.
I could go on, but I can't. Have to run to Comdex.
-----
Daniel DuBois, Software Animal
dan@spyglass.com
http://www.spyglass.com/~ddubois/
Received on Tuesday, 4 June 1996 09:11:54 UTC