Re: URI-protocol mapping (was Re: How to add new "protocols" ?)

Daniel LaLiberte (liberte@ncsa.uiuc.edu)
Thu, 20 Feb 1997 12:01:51 -0600 (CST)


From: Daniel LaLiberte <liberte@ncsa.uiuc.edu>
Date: Thu, 20 Feb 1997 12:01:51 -0600 (CST)
Message-Id: <199702201801.MAA07704@void.ncsa.uiuc.edu>
To: touch@isi.edu
Cc: liberte@ncsa.uiuc.edu, uri@bunyip.com
Subject: Re: URI-protocol mapping (was Re: How to add new "protocols" ?)
In-Reply-To: <199702201734.AA04288@ash.isi.edu>

touch@isi.edu writes:
 > > From liberte@sdgmail.ncsa.uiuc.edu Thu Feb 20 09:22:52 1997
 > >  > However, it adding that 2-level binding to URLs removes any notion
 > >  > of the base, static case which has proven so useful in bootstrapping
 > >  > the Web protocols.
 > > 
 > > It doesn't.  In a chain of URI redirections, the last URI should be
 > > used as the base if the document itself (or its container) does not
 > > specify the base.  This is a clarification of the relative URL spec.
 > > Roy concurs.
 > 
 > Then we're just talking semantics.

I'm not sure whether I should be happy about that.

 > I've been using URL as the last step in that chain.

So for you a URN necessarily maps to a URL or perhaps another URN or a
description of the resource, but never to the resource itself.  I
don't think that restriction is necessary.

 > The use of symbolic indirection in both languages and
 > communication has a long and distinguished history which is
 > directly applicable here. 

Indirection is necessary to get the mobility that names allow, but
indirection is possible also for URLs.  A URL is symbolic too.

I don't disagree with the value of layers of abstraction, but in the
realm of internet resource identifiers, I have seen no need
to distinguish URNs and URLs since they can both serve the same
symbolic function.  Perhaps some additional requirements should be
added to URNs to make them sufficiently distinct.  Perhaps people who
want to distinguish them have some unstated requirements in mind.

 > There is a need to restrict the last step in that chain, contrary
 > to popular belief. It avoids naming circularities, and locks down
 > the behavior of the protocol.

Certainly one must eventually get down to lower level primitives.
But both URNs and URLs can do that, unless you restrict that URNs
can not do that.

 > LISP avoided this, but it caused many problems when constants like "1"
 > were redefinable symbols, rather than base-cases.

It is not useful to redefine constants, but why is a URL a constant?
In fact, some people have the notion that URNs are the never changing
constants.

dan