Here's a problem I have with the definition of Content-IDs. RFC 1341 says:
6.1 Optional Content-ID Header Field
In constructing a high-level user agent, it may be desirable to allow
one body to make reference to another. Accordingly, bodies may be
labeled using the "Content-ID" header field, which is syntactically
identical to the "Message-ID" header field:
Content-ID := msg-id
Like the Message-ID values, Content-ID values must be generated to be
as unique as possible.
Is it really necessary that Content-IDs be globally unique? Seems to me
they only need to be unique within the enclosing scope, presumably a
multipart. Plus, I never saw the need for RFC 822 to be so picky about
msg-ids (angle-brackets, the @-sign, a domain name) except as a *suggested*
way of generating globally-unique strings. It's unnecessary for MIME to
propagate this, especially for scopes in which unique name generation is
easy.
I'd prefer not to have required special characters in Content-IDs, since
I want them to be identifiers in a language for specifying a multipart layout.
I suppose I could refer to content-id <UniqueName(_at_)eitech(_dot_)com> as
just UniqueName
in such a language, but that's a little ugly. Regardless, I don't want to have
to generate a GloballyUniqueName.
I haven't heard of much implementation experience with Content-IDs; people
are only just starting to use them. I used them in my servicemail package,
but it turns out I used them inconsistently with the definition.
Jay
---------------------------------------------------------------------
Jay C. Weber weber(_at_)eitech(_dot_)com
Enterprise Integration Technologies
weber(_at_)cis(_dot_)stanford(_dot_)edu
459 Hamilton Avenue, Suite #100 (415)617-8002
Palo Alto, CA 94301