- From: <noah_mendelsohn@us.ibm.com>
- Date: Wed, 30 Jul 2008 17:45:45 -0400
- To: Jonathan Rees <jar@creativecommons.org>
- Cc: "www-tag@w3.org WG" <www-tag@w3.org>
Sorry for the long delay in replying. As I think you know, I was traveling for most of the early summer. Anyway, the first point to make is that you are commenting on a draft that was never approved by the TAG and that met with some resistance when we discussed it. I decided to put the work down for some time, though may pick it up again soon. So, I don't want to get into defending all this too strongly at the moment. I'll be glad to try and explain what I meant at the time. > Can you tell me how "faithfully" and "correct" are defined, and > how anyone could tell if service was "incorrect"? Informally, I think so. To the level of rigor I suspect you're looking for, probably not. This is not try to say anything tricky. If you are implementing HTTP, and in response to a GET you delete the resource, you are not implementing the GET operation "correctly". If the resource is the text of the declaration of independence, and your server (for some bizarre reason) leaves out every 3rd word in the representation returned from an otherwise correctly implemented GET, then in some sense it isn't serving the resource "faithfully." Let's say you do an HTTP GET with a Request-URI header of ftp://example.org/. The above is trying to say: first of all, you must implement the HTTP GET operation correctly (don't try to delete anything.) You must access the correct resource (you should be able to demonstrate that what you're returning is indeed the information that would come back from an FTP retrieval from example.org), etc. > Are you saying that the native protocol (the one mentioned in > the URI) sets a standard, and all other protocols need to agree with it? URI schemes don't in general mention protocols. The URI, if assigned at all, identifies a resource. So, that is the "standard" that all interactions must respect. In the particular case of URIs employing the http scheme, the association of the URI and the resource is in some cases grounded in the HTTP protocol, but that's the special case of http and similar schemes. mailto, for example, seems less directly associated with a protocol. It identifies an email address, not the protocol used to interact with that address. > Also, how do you tell whether a server is subject to these rules? Only with a degee of omniscience. I'm not sure how an automated checker would discover that the New York Times had accidentally put the wrong content on its home page. The editor, on the other hand, would probably spot immediately that his/her intended content had not been served "faithfully". Similarly, we don't have automated ways to spot all cases in which DNS cache pollution results in browsers being directed to bogus sites, but that properly runs afoul in principle of the admonition that the protocols be implemented "correctly" and "faithfully". > Could there be protocols that serve "incorrect" versions (e.g. from > the wayback machine) that are correct simply because the protocols > are not meant to be subject to these rules? The October 22, 1996 version of the IBM home page has its own URI [1] at the Wayback machine. That's a separate resource from [2], which is the "always current" IBM home page. If course, there can be protocols that do most anything, but I don't see anything tricky about this example. The Wayback machine correctly implements GET on [1]. I'm too lazy to do all the fooling it would take to try, but I suspect that if you did an HTTP connection to the Wayback machine and gave it a Request-URI of [2] it would correctly give a 404. Noah [1] http://web.archive.org/web/19961022175210/http://www.ibm.com/ [2] http://www.ibm.com/ Noah -------------------------------------- Noah Mendelsohn IBM Corporation One Rogers Street Cambridge, MA 02142 1-617-693-4036 -------------------------------------- Jonathan Rees <jar@creativecommons.org> 06/13/2008 09:14 AM To: noah_mendelsohn@us.ibm.com cc: "www-tag@w3.org WG" <www-tag@w3.org> Subject: question: definition of "correct" in "URI Schemes and Web Protocols" I had a question or two about the following passage in [1]: "A server MUST serve resources faithfully. Regardless of the protocol used, the server is responsible for ensuring that the correct resource is accessed, that operations are correctly implemented according to the specifications for the protocol, and thus that the correct resource state is either retrieved or updated." Can you tell me how "faithfully" and "correct" are defined, and how anyone could tell if service was "incorrect"? Are you saying that the native protocol (the one mentioned in the URI) sets a standard, and all other protocols need to agree with it? Also, how do you tell whether a server is subject to these rules? Could there be protocols that serve "incorrect" versions (e.g. from the wayback machine) that are correct simply because the protocols are not meant to be subject to these rules? If so, how can you distinguish the servers/protocols to which the rules pertain from those to which they don't? Thanks Jonathan [1] http://www.w3.org/2001/tag/doc/SchemeProtocols.html
Received on Wednesday, 30 July 2008 21:45:07 UTC