Re: Suggest meaning for URN

Tim Berners-Lee (timbl@www3.cern.ch)
Wed, 9 Jun 93 13:15:16 +0200

Date: Wed, 9 Jun 93 13:15:16 +0200
From: Tim Berners-Lee <timbl@www3.cern.ch>
Message-Id: <9306091115.AA08099@www3.cern.ch>
To: Peter Deutsch <peterd@bunyip.com>
Subject: Re: Suggest meaning for URN

> From: Peter Deutsch <peterd@bunyip.com>
> Date: Tue, 8 Jun 1993 12:42:32 -0400
>

> Hi Tim,

>

> Come on, play fair!
>

> [ You wrote: ]
> . . .
> > Ed, you say "symbolic reference". A "reference" can normally be
> > dereferenced. If it can't, then fair enough but say that it
> > supports equality but that's it.
> >

> > If it can, then you have to have an algorithm in mind, which will
> > almost certainly involved the user knowing a little about the
inside
> > of a URN, to know the first step to dereferencing it.

Excuse me, I said "user", I mean't "client software". I'm
not talking about user education, I'm talking about information
hiding in the engineering of the URN.

> Of course, our software needs to be able to find
> appropriate servers, ask appropriate questions and
> understand the responses but I think we are vastly
> overrating the difficulty of this. After all, Users of DNS
> have been doing this successfully for some time now and
> nobody looks all that surprised. Imagine if everyone had
> said "but you can't use a lookup service for IP addresses!
> It wont scale to googleplex hostnames!".

Exactly. But DNS *has* a visibile structure, several levels
deep, and the client can see it! That is WHY it scales.

> Fact is, a single server (replicated for performance and
> redundancy) can handle several million records today. As
> the quantity of URNs to be served passes this magic
> number, we can add independent servers for each namespace.
> (ie. a set of servers for ISOC, a set for ISBN and so on).

Someone at an IETF suggested that a biggest reason why the
Internet has worked is DNS. DNS which does not your
approach. Does anyone on the list have database with
all 1e6 internet hostnames in? The Survey admits that its
compilation is inaccurate and incomplete. Now suggest that
the InterNIC should server the definitive database to all
comers. I think that might be regarded as a step backwards.

> Let's face it, DNS is currently tracking something like
> two million host names. Both archie and veronica are
> serving over two million filenames and so on. And when the
> numbers require it for individual namespaces, we can start
> distributing the contents a la DNS. There's nothing in our
> current proposal that rules that out.

Good! Because Veronica at least is flattened by the load,
whereas DNS is humming along nicely.

> ... As we end up with more and more people
> creating and serving URNs, we will see distributed
> solutions, probably marrying DNS (to find the appropriate
> server) and a simple table lookup protocol (to hand in a
> URN and get back zero or more URLs).

Yes absolutely, Peter.
This suggests strongly that the naming authority should
be refered to, in a a URN, by its address in DNS space.

URN = fqdn / opaque-part

(I guess you _could_ say that the naming authorities are
a separate space, and that the domain name of a suitable
server is achieved by a well-known transformation to a FQDN,
but that is a matter of nomenclature not engineering.)

> This is simply not
> brain surgery. Or if it is, then we're all brain surgeons.

Precisely. In fact the HTTP protocol already provides for URN to URL
translation. To quote the spec on the parameter passed in the HTTP
request, at
<http://info.cern.ch//hypertext/WWW/Protocols/HTTP/Request.html#URI>,

"This is a string identifying the object. It contains no blanks. It
may be a Uniform Resource Locator [ URL ] defining the address of an
object as described in RFCxxxx, or it may be a representation of the
name of an object (URN, Uniform Resource Name) where that object has
been registered in some name space. At the time of writing, no
suitable naming system exists, but this protocol will accept such
names so long as they are distinguishable from the existing URL name
spaces."

A URN lookup server returns a "Forward" response with a set of URLs
(on,. in fact, URNs) as described in

<http://info.cern.ch//hypertext/WWW/Protocols/HTTP/HTRESP.html#z9>

Example:

client wants urn:isbn.com::0346557335:::
client connects to urn.isbn.com

client:

GET urn:ora.com::0346557335 HTTP/1.0

urn.ora.com:

HTTP/1.0 403 Try these places
Location: ftp://ftp.ora.com/pub/books/list-feb.ps
Location: ftp://ftp.ora.com/pub/books/list-feb.txt
Location: http://www.ora.com/books/list-feb.multi


IX RECORDS

An alternative to simply mapping a publisher name into the FQDN of
a suitable host would be to have a new "IX" record
(Information eXchange, like MX) in the DNS. I don't know what the
upheaval of this would be, and pros and cons. It is the difference
between being able to mail Tim.Berners-Lee@cern.ch instead of
Tim.Berners-Lee@mail.cern.ch. If the "mail." were tried
automatically by SMTP, would MX records have been needed?

Don't you think we're making progress?

Tim