- From: Michael Nelson <mln@cs.odu.edu>
- Date: Wed, 25 Nov 2009 18:08:20 -0500
- To: Mark Baker <distobj@acm.org>
- CC: Herbert Van de Sompel <hvdsomp@gmail.com>, Linked Data community <public-lod@w3.org>, Robert Sanderson <azaroth42@gmail.com>
- Message-ID: <alpine.GSO.1.10.0911251722350.22957@vega.cs.odu.edu>
Mark, >> In practice, agent-driven CN is rarely done (I can only guess as to why). In >> practice, you get either server-driven (as defined in RFC 2616) or >> transparent CN (introduced in RFC 2616 (well, RFC 2068 actually), but really >> defined in RFCs 2295 & 2296). See: >> http://httpd.apache.org/docs/2.3/content-negotiation.html > > I disagree. I would say that agent-driven negotiation is by far the > most common form of conneg in use today. Only it's not done through > standardized means such as the Alternates header, but instead via > language and format specific links embedded in HTML, e.g. "Click here > for the PDF version", or a "Language/country-selector dropdown" in the > page header, or even via Javascript based selection. While the exact line between them might be hard to draw, I'd argue those aren't HTTP-level events, but instead are HTML-level events. In other words, I would call those examples "navigation". In addition, navigation works well for things that can be expressed in HTML wrappers (e.g., "click here for the PDF version"), but not really for embed/img tags where you want to choose between, say, .png & .gif. > > Server driven conneg, in comparison, is effectively unused. Ditto for > transparent negotiation. I think that is an unfair characterization. I won't guess as to how often it is done, but it is done. It is just not perceived by the user. Almost every browser sends out various "Accept" request headers, and it is not uncommon to have "Vary" and "TCN: Choice" response headers (check responses from w3c.org, for example). When done with the 200 response + "Content-Location" header, the URI that the browser displays does not change. Also, if you link directly to "uncool" URIs (e.g., "foo.gif" or "bar.html"), you won't see any traces of CN in the response because those URIs aren't subject to negotiation. >> So while I think you are describing agent-driven CN (or something very >> similar), I also think it would be desirable to go ahead and get the full >> monty and define the appropriate Accept header and allow server-driven & >> transparent CN. Agent-driven CN is still available for clients that wish to >> do so. > > I just don't understand the desire for server driven conneg when agent > driven is the clear winner and has so many advantages; we'll have to agree to disagree on that; I think they are different modalities. > > - not needing to use the inconsistently-implemented Vary header, so > there's no risk of cache pollution. see > http://www.mnot.net/blog/2007/06/20/proxy_caching#comment-2989 > - more visible to search engines > - simpler for developers, as it's just links returned by the server > like the rest of their app. no need for new server side modules either > I would suggest these are among the reasons we champion the 302 response + "Location" header approach (as opposed to "200/Content-Location") -- it makes the negotation more transparent > You might also be interested to read this, where one of the RFC 2616 > editors apologizes for supporting server driven conneg; > > http://www.alvestrand.no/pipermail/ietf-types/2006-April/001707.html > > Note that he refers to HTTP conneg being broken, but is actually only > talking about server driven conneg. I would counter with that fact that CN features prominently in: http://www4.wiwiss.fu-berlin.de/bizer/pub/LinkedDataTutorial/ http://www.w3.org/TR/cooluris/ Given the role CN plays in these recent documents, it would seem CN has some measure of acceptance in the LOD community. regards, Michael > > I think that makes for a pretty strong case against it, and I haven't > even elaborated on the architectural problems I perceive with it > (though some of the advantages above relate closely). > > Mark. > ---- Michael L. Nelson mln@cs.odu.edu http://www.cs.odu.edu/~mln/ Dept of Computer Science, Old Dominion University, Norfolk VA 23529 +1 757 683 6393 +1 757 683 4900 (f)
Received on Wednesday, 25 November 2009 23:08:49 UTC