W3C home > Mailing lists > Public > uri@w3.org > September 2004

Fwd: "absolute URI reference" considered awkward

From: Roy T. Fielding <fielding@gbiv.com>
Date: Thu, 16 Sep 2004 18:06:03 -0700
Message-Id: <BF364AD6-0845-11D9-8E04-000393753936@gbiv.com>
To: uri@w3.org

I am forwarding a message sent by Tim Berners-Lee on why the term
URI should be used the way it is in rfc2396bis.  Keep in mind that
this was written two years ago when the current revision process
began.  I have no interest in reopening this debate.  As far as I
am concerned, every single standards organization and implementor
of URI technology has had a chance to comment on this change and
have uniformly supported it, with only minor regret that it means
additional text changes when they eventually update their own
specifications from RFC 2396 to the new standard.  The general
viewpoint is that a revision is intended to improve documentation
of the standard, not just restate it, and they would rather make
all future specifications easier to understand.

If it is absolutely necessary to provide a translation of terms
from RFC 2396 to the current standard, then it should be done in
the appendix on changes from RFC 2396.  If you don't think the
current summary in that appendix is adequate, then please provide
text that is better.

....Roy


Begin forwarded message:

> From: "Tim Berners-Lee" <timbl@w3.org>
> Date: September 6, 2002 11:00:51 AM PDT
> To: "Tim Bray" <tbray@textuality.com>, "Dan Connolly" <connolly@w3.org>
> Cc: <www-tag@w3.org>
> Subject: Re: "absolute URI reference" considered awkward (and in one 
> case,  	overly constraining)
>
>
> I happily left for vacation thinking that the TAG had at least started 
> to
> clear up one big mess, and find that the change had been reversed
> when I got back!  Ah well! As I think this is important, I will add my
> weight to the
> argument for the new, cleaner definition of URI.
>
> I would point out on top of the existing arguments which have
> been made that "Absolute URI Reference" is a broken term.
>
> It is important to distinguish between the string which identifies
> something and the BNF for a string in a document which
> is used to specify the first string.  The first is an identifier.
> The second has been called a "reference".   A reference
> can use a relative form.
>
> For the identifier  http://example.org/bar#foo we can only as is
> use the term "Absolute URI reference", which is terrible because
> we are talking about the actual identifier and NOT just a form
> of reference.
>
> What you actually want to quote in most specs' BNF is a
> reference. This can be relative or absolute. The terms "relative
> URI" and "absolute URI" are nonsense: these are just
> references.  "relative URI reference" makes sense ...
> but  I can't think of a time when one would want something
> which could be relative and could *not* be absolute.
>
> "Absolute URI reference" means more or
> less "A string for referring to a URI in a document but
> constrained so that it is equal to the string which is the document's
> actual identifier".  We only go through the loop because the #fragid
> was left off the definition of URI, but by doing this fudge
> we magically get it back.   Aaauuugh!
>
> So the old system is a big mess and I agree that while  RFC2386 does
> say that, that we do better to clear it up now.  Note, to ease the 
> pain:
>
> - "URI reference",  which is what most specs should be calling out,
>   does not change.
>
> So the term I would like the document to use are as follows:
>
> What: The actual identifier in general, with or without #fragid
> Examples:  http://www.w3.org/    mailto:spam@ftc.gov
> http://www.w3.org/foo#bar
> Old:  Absolute URI Reference
> New:  URI
>
> What: A reference to the above
> Examples:  http://www.w3.org/    /   mailto:spam@ftc.gov  /foo#bar   
> #bar
> Old:  URI Reference
> New:  URI Reference
>
> What: An identifier with no "#"
> Old:  URI
> New:   <need to make something up maybe>
>
>
> With regards to the last line, I'd point out that in  most cases where 
> you
> want to restrict something to having no "#"  you very likely want to
> restrict it to being a particular scheme.
> For example, you must need it to refer to a document or a mailbox
> or something, so probably you want a term like "mailbox identifier
> (mailto:...)" or
> "http document identifier (http:...)".   A first test will be whether 
> we
> need it in the architecture document.
>
> Tim BL
Received on Friday, 17 September 2004 01:06:15 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 13 January 2011 12:15:34 GMT