- From: John Kemp (Nokia-S&S/Williamstown) <john.kemp@nokia.com>
- Date: Thu, 07 Aug 2008 08:43:41 -0400
- To: "ext T.V Raman" <raman@google.com>
- CC: richard@cyganiak.de, seb@serialseb.com, www-tag@w3.org, kidehen@openlinksw.com, tthibodeau@openlinksw.com
ext T.V Raman wrote: [...] > Returning to your final question, where the user-agent does > content-negotiation, indicates a preference for one type, but > asks by URI for the other, I would say respect the URI. I dont > claim this to be *correct* in any sense, other than that I would > break the tie this way. Reasoning: The client, by asking for a > URI that directly resolves to a given representation has > essentially bypassed content-negotiation. I think your interpretation is OK. But other servers may wish to respect the HTTP Accept header sent in the request, rather than (or in addition to) parsing the URI. This is server-driven negotiation, and the server is attempting to meet the needs of its client. If the server feels unable to adequately determine what the client wants, it may return an HTTP 303 or 406 status code and allow the client to make a choice itself. All of that is in the HTTP 1.1 specification. Anything other than HTTP would presumably define a similar mechanism. I believe it makes sense to recommend that HTTP 1.1 content negotiation via the HTTP Accept: header is the preferred mechanism for "breaking the tie". If the user-agent can set the Accept header value to something more specific than */* then it is already likely capable of setting the _correct_ value for this header to get the content type it is asking for. Regards, - johnk
Received on Thursday, 7 August 2008 12:44:56 UTC