Date: Mon, 11 Oct 93 11:05:53 +0100
From: Tim Berners-Lee <timbl@www3.cern.ch>
Message-Id: <9310111005.AA00285@www3.cern.ch>
To: Kevin Gamiel <kgamiel@vinca.cnidr.org>
Subject: Re: The URN: wrapper and URLs...
Michael, Kevin, David, Marc, Simon, Larry, Mitra, Folks,
There are are several -- not many, but a few -- name spaces.
We add a new one only with much deliberation.
The term "URL" is a generic term for those namespaces which
are location dependent in that they specify a DNS hostname
or worse. As luck would have it, these were the only namespaces
around when WWW started, and when URIs (the concept of
formalizing namespaces into a universal represenattion at all) was
invented.
So "URL" refers to the set of things we have. "URN" refers to
one of the things we want, but don't have. because we are inventing
the URN now, in consort, we imagine that there will be
only ONE such location-independent namespace. The better we (who?)
do
it, the more likely that will be. So we call the single scheme
"urn:". If it ends up being a whois++based name we could end
up calling it "wppn:". It would be the only URN scheme. If, later,
a protocol (different) is designed for looking up FPIs then
FPIs will become another type of URN. Then we will have
8 or so URL namespaces and two URN namespaces. One of them
might be called "urn:" which _might_ confuse people, but I
would not deter the URN inventors from inventing something designed
to be the only URN scheme. Marc is right when he says
it is late to change things now for thousands of happy URL users
out there. But I wouln't want to change it anyway.
_______________________________________________________
| |
| _______________ _______________ |
| | ftp: | | urn: | |
| | gopher: | | fpi: ? | |
| | http: | | | |
| | etc | | | |
| |_______________| |_______________| |
| URLs URNs |
|_______________________________________________________|
URIs
Venn digram. URI is the universal set by definition. The
next most important entity is the namspace identified by
its prefix. The groupings "URL", "URN" are useful for discussion
but are not fundamental. It is difficult to generalize about
groupings for urns and urcs etc when they don't exist, so we
talk about the class of URNs and the new urn: protocol as one.
Why not? The last thing we need is more names. And maybe
the urn: space will be all that is needed for the URN function.
URN syntax
Simon syas that it would be sensible and was discussed that the
internal syntax of a URN should look like that of a URL.
I agree, as we want to be able to parse a URI. I think that
in Amsterdam the colons of the original IRN proposal were
largely changed to slashes where they were hierarchical in
intent.
Preprefixes
I am seriously in favor of having one prefix per namespace,
and NOT having a preprefix which says whether something is a
URL or a URN. This is partly because I want to keep it simple,
partly because the software will have to know all about the
namespaces anyway, partly because there are very many properties
of names/addresses/locators/identifiers which distinguish them
apart from location-independence, and partly because these properties
will even vary from domain to domain and name to name in the same
space (as we have all been discussing). I don't believe software
wil be simply switching on the URL/URN property, each namespace
will have to be treated differently at different times.
Namespaces are different because
the protocols are different, for good reasons in most cases,
and so the namespaces have different properties.
As Larry says, look at the news: URL. It is in fact completely
location-independent. It won't work for URNs because the news
scheme relies on rapid expiry to scale. So we call it a URL.
Don't open up the discussion and try to invent a new UR* category
for it -- or we will have a URx for each scheme! Let it be that
the namespace prefix has a significance, and the term URL
is one we have found useful in our discussions, but let's leave
it at that.
So let's drop the preprefix idea.
Wrappers
It was decided in Amsterdam that any URx, whatever its prefix,
may be wrapped
in <> within plain text to help a smart program to spot it,
like <ftp://info.cern.ch/pub/www/url6.ps>. These were introduced
partly because their use is common for mail addresses etc
already, and partly because when spaces were allowed within the URL
then a terminator of some sort was needed. I see no problem
with that. Remnember that it was ONLY for enclosing it in
free text. When any othe delimeter is in use anyway it is
not necessary and would be wrong as the <> are NOT part of the
URI.
Tim
__________________________________________________________
Tim Berners-Lee timbl@info.cern.ch
World Wide Web team leader (NeXTMail is ok)
CERN, CN Division Tel: +41(22)767 3755
1211 Geneva 23, Switzerland Fax: +41(22)767 7155