- From: Jeremy Dunck <ralinon@hotmail.com>
- Date: Tue, 07 Jan 2003 19:29:59 -0600
- To: simonstl@simonstl.com, www-tag@w3.org
>From: "Simon St.Laurent" <simonstl@simonstl.com> <snip> >I'm not nearly as concerned with the "what do I bookmark after a >retrieval" question as I am with the "how do I as an author reliably >reference content" question. Right now reliability is simply not >enabled unless you control both the point where the reference is made >and the thing to which reference is made. Content-negotiation handling >could be far more robust in markup vocabularies including those created >by the W3C, but this has clearly NOT been a priority. > >It doesn't seem like it should have to be that way, but the >(non-)intersections of [HTTP capabilities & URI philosophy] and [common >markup and browser practices] suggest that perhaps the world is more >comfortable overall with a single pathway from identifier to >representation. I don't think that the lack of common usage is due lack of value. It's a question of bang for the buck. Frankly, I think that tools have never been made to really leverage the features offered, and those tools that do exist still make it too expensive to accomplish. We don't suppose that since people don't commonly fly to work, there's no interest in that. We know that it'd be great if we could, but the cost of doing so is too high. I'm not sure that this has too much to do with negligence on the W3C's part, though. That is, I am not sure that the W3C is responsible for the lack of standards and tool support. Given finite resources, something's got to give, and a large number of unimplemented (or partially implemented) RFCs on the topic exist may indicate this is what's giving. I think one issue (hiding demand) is that you can't tell if a URI is negotiated on the server, and that a requestor can't tell what a particular URI is meant to represent. Specifically, does http://www.example.com/aDoc locate the document (that is, body of knowledge) itself, or does it locate the HTML representation of it? Is there available a URL http://www.example.com/aDoc.html which -does- locate, specifically, the HTML representation of it? Even if it were readily known that for a particular document, there exists a URL for a particular representation of it, would it be generally appropriate for a linker to link to the un-negotiated representation? I don't think it would, but there are certainly situations that would warrant it. For example, "Your page, http://www.example.com/aDoc/1-1-2003.en.html returns 500, but http://www.example.com/aDoc/1-1-2003 seems to work OK, given this HTTP request:....." (That's a contrived example, but hopefully you see my point.) We'd probably like to hide the negotiation plumbing from Joe User anyway. I'm not proposing that there should be standardized URLs (breaking opacity), but I -do- think there's value in making it visible that a server has negotiated for you, and also in making client-side negotiation a real-world choice. The shades of grey are more subtle (and IMO, more important) when you start talking about XML documents. MIME types are really insufficient to described multiple-namespaced documents. At one point, MIME was a pretty fine-grained control of what a UA could handle, but the grain is getting coarser now. Sure, you could start creating all kinds of MIME types to emulate the underlying requirements of the representation (as all application/*+xml MIMEs do, I think), but MIME registration is (rightfully) high ceremony, and I think this sort of MIME registration pollutes MIME type's usefulness as "an open-ended framework ...[that] can accommodate additional object types, character sets, and access methods without any changes to the basic protocol." [MIME Type Registration] Given Accept: text/html, the server can't know for sure if the browser supports CSS, JS, DOM, etc. All kinds of hacks (such as User-Agent string sniffing) attempt to address this, but generally do poorly at it. For negotiation to be useful, fine grained control of acceptable alternates is needed, and IMO, commonly used headers today aren't fine enough. It might be nice for the negotiation to retrieve a (perhaps poorly performing) DOM1 script if the request doesn't indicate DOM2 support. Taking it to an extreme, given our imperfect implementations, it might be nice if negotiation knew whether the getElementByTagName method was supported. Of course, at some point, the whole endeavor just isn't worth the headache. I feel that for a particular conceptual resource, there may well be multiple representations, but I also feel that each of those representations might deserve its own URL. I have another bone to pick that I feel is directly related-- that URLs in common web servers are not (or are not completely) abstracted from file paths. That is, in IIS, directories are the finest granularity of URL creation-- once a directory is exposed as an URL hierarchy, the files in that dir (and only those files) are valid URLs. Apache provides slightly better abstraction, but is still tightly bound to the file system. CGI provides nearly complete abstraction, but other warts in that approach have (IMO) limited its acceptance. Given that URLs are closely mapped to files in a directory (and can't be conjured upon request), negotiation and URLs assigned to each possible representation quickly becomes unworkable. But it doesn't have to be that way. :) It'd be nice if we could get some reading on the market's opinion of the usefulness of content negotiation. I'd like to change the tools available, but I don't know if my time would be well spent in doing so. I've seen some examples of hack-ish content negotiation (for example, using a script to alter text/css content based on UA string), so I know there would be -some- demand for it. Comments? Thanks, Jeremy Dunck [MIME Type Registration] http://www.ietf.org/rfc/rfc2048 _________________________________________________________________ MSN 8 with e-mail virus protection service: 2 months FREE* http://join.msn.com/?page=features/virus
Received on Tuesday, 7 January 2003 20:30:36 UTC