Re: URI versus URI Reference

John Cowan wrote:

> "Paul W. Abrahams" wrote:
>
> > I don't think that RFC2396 actually says that a URI has to be
> > absolute.  A URI has to identify a resource, but RFC2396 nowhere
> > says explicitly that the identification has to be
> > context-independent.
>
> As we have seen, some absolute URIs (or just URIs) are *not* context-
> independent, e.g. "mailto:jcowan".

That seems to be a statement of agreement, not of disagreement.

> >   But to say that a URI has to be absolute
> > also runs up against the existence in RFC2396 of the nonterminal
> > relativeURI (defined in Sec. 5) and the fact that Section 3 speaks
> > of absolute URIs.   I suppose one could argue that a relativeURI
> > isn't a URI at all, but that's certainly counterintuitive.
>
> That is the language of 2396.

What is the ``that'' there?   I can't find anyplace where 2396 says or even
clearly implies that a relative URI is not a URI.  It says what a relative URI is,
but not what a relative URI is not.  In fact, I can't find anyplace where 2396
says something to the effect ``A URI is ... ''.   There are, of course, plenty of
statements about the properties of URIs.

> >  And why
> > would Section 3 have to refer to absolute URIs if there aren't any
> > other kinds of URIs?
>
> Clarity.  Prior to 2396, there was much talk of "relative URIs";
> 2396 established that what was previously called a "relative URI"
> was now to be called a "relative URI reference".

I wonder if there are some essential statements that you're thinking of that
existed in predecessors to 2396 but were unintentionally dropped from 2396.   Not
knowing the history, I can only speculate on that possibility.

> > There's also the fact that in programming languages, ref x is not
> > the same as x, not even syntactically (modulo implicit
> > dereferencing, of course).
>
> Fee, fie, fo, fum, I smell another ALGOL 68 aficionado!

Aficionado, no.  But I actually did read the Algol 68 report very closely at one
point, and knew the language quite well.  (Someone on the A68 committee told me
that perhaps I had managed to understand the report without being on the
committee, but that I'd never be able to understand the REVISED report on that
basis.)

> >  One would expect a URI reference to be
> > a pointer to a URI, i.e., a doubly indirect specification of a
> > resource, and not some generalization or specialization of a URI.
>
> In a sense, "foo" is a pointer to the actual URI, but it's what
> PL/I called a BASED pointer, one that only makes sense relative
> to a certain base.

So in this case, what is the implicit base?  I don't see one in sight.  (Back in
prehistory I was on the ANSI PL/I standards committee.)

Paul Abrahams

Received on Wednesday, 24 May 2000 17:41:36 UTC