During the discussions leading to the publication of AWWW Vol .1, I was
struck by the number of situations in which there appeared to be confusion
in the Web community regarding the architectural relationship between URI
schemes and network protocols. I believe that some such confusion is also
somewhat evident in the recent WS Addressing thread [1] on Tag Issue
endPointRefs-47 [2]. This seems to be an area in which guidance from the
TAG would be helpful.
The following questions illustrate the sorts of confusion that I think is
out there:
Q. Is it true that the URI scheme always implies the protocol used to
offer resource representations to the Web (e.g. http: implies HTTP
protocol)?
A. Not always. You can get at FTP-protocol resources using HTTP as a
gateway protocol (I think), and in such cases you will see traffic on the
wire in which the ftp-scheme URI is the Request-URI used for the
HTTP-protocol request message. The specification for the URN scheme
doesn't tell you what protocol to use at all.
Q. OK, then what licenses my browser to use the HTTP protocol for http:
names, and the FTP protocol for ftp: names?
Q. Why is the HTTP protocol documented in RFC 2616 along with the http
scheme?
Q. If I write the specification for a new URI scheme, what MAY/SHOULD/MUST
I say regarding the association of that scheme with particular protocols?
Should I give guidance to user agents as to which protocols to use? (URN's
don't.) Can I prohibit the use of particular protocols?
Q: What is the relationship between the specification for a URI scheme and
REST-like application semantics? For example, is it implied that any
protocol used to access or manipulate a URN-scheme-named resouce must have
operations recognizable as GET/PUT/POST? MUST/SHOULD the specification
for a URI scheme document such application-level semantics? Do those
instead follow from the choice of protocol (I suspect).
I am NOT necessarily suggesting that the Web is broken in these areas, or
that experts do not have good and self-consistent answers to the above
questions. I am suggesting that, like so much of the good material
covered in AWWW, the subtlties are not widely recognized and the answers
are often misunderstood. Maybe or maybe not there are also real
weaknesses in the architecture that require attention. I suggest that it
would be a good use of the TAG's time to clarify the answers and document
them for the community. Thus, I hereby propose to open a TAG issue
regarding the relationship of URI schemes to protocols and on-the-wire
application semantics.
BTW: I believe I offered at some F2F to open this as an issue. I don't
think I was ever assigned a formal action, but if I was, the action is
hereby discharged.
Noah
[1]
http://lists.w3.org/Archives/Public/public-ws-addressing/2005Feb/0022.html
[2] http://www.w3.org/2001/tag/issues#endPointRefs-47
--------------------------------------
Noah Mendelsohn
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------