RE: Strings and things

> From: Mark Baker [mailto:distobj@acm.org]
> On Mon, Apr 29, 2002 at 02:55:04PM -0700, Joshua Allen wrote:
> > people SHOULD choose URI schemes that are indicative of the thing
they
> > are identifying, and the creator of a URI scheme SHOULD specify
which
> > range of "things" this URI scheme is good at identifying.
> 
> Would you mind providing somes references for this belief?

In the sense of, "Mark Twain once said that people will be more likely
to believe what you say if you tell them Ben Franklin said it first"?

From RFC 2396: 

"The URI scheme defines the namespace of the URI, and thus may further
restrict the syntax and semantics of identifiers using that scheme."

The RFC goes on to clarify that the "scheme" part of the URI defines
semantics and not protocol:
"Although many URL schemes are named after protocols, this does not
imply that the only way to access the URL's resource is via the named
protocol."

"Just as there are many different methods of access to resources, there
are a variety of schemes for identifying such resources.  The URI syntax
consists of a sequence of components separated by reserved characters,
with the first component defining the semantics for the remainder of the
URI string."

And of course common sense and the relevant specs tell us that
"mailto:", "news:", and "isbn:" all identify different sorts of things.

> Where do you draw the line?  Is "car:" sufficient?  Or do we need
> "bmw:", or perhaps "mark-bakers-cars:"?

Good question.  Why do we have "isbn:" instead of "book:"?  No doubt
these things will evolve sloppily, and I as much as anyone insist that
we have to tolerate some degree of ambiguity.  However, there is
absolutely no excuse for using an "isbn:" URI to identify a mailbox and
a "mailto:" URI to identify a book.  And there is no excuse for using an
"http:" URI to identify a car.

And there is already a standard scheme in RFC 2141 for people who want
to identify things that don't fit one of the widely-accepted schemes.
It is called "urn:".  I suggest that people use "urn:" when they are not
pointing to documents and can't find (or invent) a better scheme.

Received on Tuesday, 30 April 2002 03:06:50 UTC