Content-ID and Message-ID Uniform Resource Locators
obsoletes
- rfc-2111 — Content-ID and Message-ID Uniform Resource Locators
Extracted elements (12)
The 'cid:' scheme's scope is generally limited to references to other body parts within the same message as the referring body part, while 'mid:' is used for cross-message references, reflecting their different intended use cases.
The 'mid' URL long form (message-id/content-id) was designed specifically to supply message context for systems that do not index body parts independently of their containing message, enabling interoperability across heterogeneous message stores.
RFC 1738 reserves the 'mid' and 'cid' schemes for Message-ID and Content-ID respectively; this document defines the syntax for those schemes. Implementations must handle addr-spec characters not allowed in URLs via %hh encoding, including '/' which is reserved within the 'mid' scheme.
A conforming implementation is required to support the 'mid' URL long form (message-id/content-id) to supply the message context needed for interoperability with systems that do not index body parts independently of their containing message.
Both message-id and content-id are required to be globally unique: no two different messages will ever have the same Message-ID addr-spec, and no different body parts will ever have the same Content-ID addr-spec.
Conforming implementations may, but are not required to, exploit the global uniqueness of a Content-ID and interpret a 'cid' URL to refer to any body part within the message store rather than limiting resolution to the current message.
When a single message contains several body parts with the same Content-ID (permitted, e.g., within multipart/alternate), conforming implementations are required to use the rules of the containing MIME entity to select the correct body part.
A 'cid' URL is converted to a Content-ID message header by removing the 'cid:' prefix, decoding %hh-encoded characters to their US-ASCII equivalents, and enclosing the result in angle brackets. For example, 'cid:foo4%[email protected]' corresponds to Content-ID: <foo4%[email protected]>.
The 'cid:' URL scheme provides a reference to a specific MIME body part by its Content-ID. The scheme syntax is: cid-url = "cid" ":" content-id, where content-id = url-addr-spec (URL encoding of RFC 822 addr-spec).
The 'mid:' URL scheme provides a reference to an email message or a specific body part within a message by its Message-ID. The syntax is: mid-url = "mid" ":" message-id [ "/" content-id ], where the optional content-id portion identifies a specific body part within the named message.
The 'mid:' and 'cid:' URL values disclose no more about the originator's environment than the corresponding Message-ID and Content-ID header values already do. Where confidentiality is a concern, originators using these URL schemes must take the same precautions already required for Message-ID and Content-ID headers in email.
The url-addr-spec is an RFC 822 addr-spec with URL encoding applied. Characters not allowed within a URL, including '/' (reserved within 'mid'), must be hex-encoded using the %hh escape mechanism. Angle brackets used in message headers are stripped when forming the URL.