# Re: A content-id URL scheme

Roy T. Fielding (fielding@avron.ICS.UCI.EDU)
Tue, 07 Feb 1995 00:33:44 -0800

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Owen Rees: "Base URLs"
- Previous message: Larry Masinter: "URC documents?"
- In reply to: Ed Levinson: "Re: A content-id URL scheme"
- Next in thread: Ed Levinson: "Re: A content-id URL scheme"
- Reply: Ed Levinson: "Re: A content-id URL scheme"

    To: Ed Levinson <elevinso@Accurate.COM>

    Subject: Re: A content-id URL scheme

    In-Reply-To: Your message of "Mon, 06 Feb 1995 11:17:03 EST."

                 <9502061617.AA10921@Accurate.COM>

    Date: Tue, 07 Feb 1995 00:33:44 -0800

    From: "Roy T. Fielding" <fielding@avron.ICS.UCI.EDU>

    Message-Id:  <9502070033.aa10206@paris.ics.uci.edu>

Ed writes:

> Yeah, I like your suggestion on wording. Does this work better?
>
> The Uniform Resource Locator (URL) scheme, "cid", allows
> individual entities within a multipart message body to
> refer to one another by their content-id labels.

The problem I see is that it assumes cid's would only be used within
the same multipart entity. I don't see any need for that restriction,
so I would prefer something like:

The "cid" Uniform Resource Locator (URL) scheme can be used to
identify an individual body-part within a multipart message body
by referring to that body-part's Content-ID field.

> I could see using msg-ids to refer to other messages would you like to
> take that up? CIDs would be real useful now, in my opinion, in the
> mimesgml work and I don't see an application for msg-id.

I see an application for both, but do not have a need (and the time)
to define both now. Your draft will do quite well for cid's.

>> ... 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>

- Next message: Owen Rees: "Base URLs"
- Previous message: Larry Masinter: "URC documents?"
- In reply to: Ed Levinson: "Re: A content-id URL scheme"
- Next in thread: Ed Levinson: "Re: A content-id URL scheme"
- Reply: Ed Levinson: "Re: A content-id URL scheme"