Re: A content-id URL scheme

Ed Levinson (elevinso@Accurate.COM)
Wed, 08 Feb 1995 11:15:40 -0500


Message-Id: <9502081615.AA16799@Accurate.COM>
To: "Roy T. Fielding" <fielding@avron.ics.uci.edu>
Cc: uri@bunyip.com
Subject: Re: A content-id URL scheme 
In-Reply-To: Your message of "Tue, 07 Feb 1995 00:33:44 PST."
             <9502070033.aa10206@paris.ics.uci.edu> 
Date: Wed, 08 Feb 1995 11:15:40 -0500
From: Ed Levinson <elevinso@Accurate.COM>

Roy,

The problem with explicitly dealing with escape characters in the
syntax is that it unneccessarily mixes 822/1521/1522 and 1738 syntaxes.
Addr-spec is an 822 item and when I go to 1522 and 1738 I see
different escape mechanisms.

In my view the cidurl could appear in 822/1521 message headers and
messages.  I'd like the spec to be usable in both environments.  Has
the issue of the different escape mechanisms (1521: =hh, 1738: %hh)
already been dealt with?  What was the result?

I'd prefer to say something like

	cid-spec := addr-spec ; special characters must be escaped

which finesses the problem.  But basically, I just find the dual
mechanisms confusing.  We could make the arguement that, after all,
cid:... is a URL, therefore 1738 escapes apply; I just find that
arguement unsatisfying.  I'd like not to add to the confusion.


Best.../Ed

On Tue, 07 Feb 1995 00:33:44 PST "Roy T. Fielding" wrote:
> Ed writes:
> ...
> >> ... cid URLs should be capable of referencing
> >> any possible Content-ID.  Any characters that are not allowed in a URL can
> >> be escaped using the %hex encoding method.
> > 
> > I agree, using escapes make sense.  Why not use the general syntax from
> > 1521/822 and have the following?
> > 
> > 	cidurl   = "cid" ":" cid-spec
> > 	cid-spec = addr-spec		; RFC 822, globally unique
> 
> Because that BNF would allow illegal characters in the URL.  The long BNF
> I suggested is the same syntax, but replaces all illegal characters with
> their hex equivalents.  The following BNF is better, IMHO, because it
> is simple and represents a safe superset of any possible Content-ID.
> 
>    ----------------------------------------------------------------------
>    cidurl      = "cid" ":" cid-spec
> 
>    cid-spec    =  local-part "@" domain        ; globally unique
> 
>    local-part  =  1*cidchar
>    domain      =  1*cidchar
> 
>    cidchar     =  uchar | ";" | "/" | "?" | ":" | "&" | "="
>    uchar       =  <as defined in RFC 1738>
>    ----------------------------------------------------------------------
> 
> However, you may want to replace "cid-spec" and "cidchar" with
> "addr-spec" and "addrchar", and then the production can be reused to
> define the message-id URL as
> 
>    midurl      =  "mid" ":" addr-spec
> 
> thus killing two birds with one BNF.
> 
> 
> .......Roy Fielding   ICS Grad Student, University of California, Irvine  USA
>                                      <fielding@ics.uci.edu>
>                      <URL:http://www.ics.uci.edu/dir/grad/Software/fielding>