usefor-article-07 May 2002
[< Prev]
[TOC] [ Next >]
5.3. Message-ID
The Message-ID-header contains the article's message identifier, a
unique identifier distinguishing the article from every other
article. The content syntax makes use of syntax defined in [RFC
2822], subject to the following revised definition of no-fold-quote
and no-fold-literal.
header =/ Message-ID-header
Message-ID-header = "Message-ID" ":" SP Message-ID-content
*( ";" other-parameter )
Message-ID-content = msg-id
id-left = dot-atom-text / no-fold-quote
id-right = dot-atom-text / no-fold-literal
no-fold-quote = DQUOTE
*( strict-qtext / "\\" / "\" DQUOTE )
qspecial
*( strict-qtext / "\\" / "\" DQUOTE )
DQUOTE
qspecial = "(" / ")" / ; same as specials except
"<" / ">" / ; "\" and DQUOTE quoted
"[" / "]" /
":" / ";" /
"@" / "\\" /
"," / "." /
"\" DQUOTE
no-fold-literal = "[" *( dtext / "\[" / "\]" / "\\" ) "]"
The msg-id MUST NOT be more than 250 octets in length.
NOTE: The restriction to strict-qtext ensures that no UTF8-
xtra-char can appear. Msg-ids as defined here are a "normalized"
subset of those defined by [RFC 2822], ensuring that no string
of characters is quoted unless strictly necessary (it must
contain at least one qspecial) and no single character is
prefixed by a "\" in the form of a quoted-pair unless strictly
necessary, and moreover there is no possibility for WSP to
occur, whether quoted or not. The length restriction ensures
that systems which accept message identifiers as a parameter
when retrieving an article (e.g. [NNTP]) can rely on a bounded
length. Observe that msg-id includes the '<' and '>'.
An agent generating an article's message identifier MUST ensure that
it is unique (as also required in [RFC 2822]) and that it is NEVER
reused (either in Netnews or Email). Moreover, even though commonly
derived from the domain name of the originating site (and domain
names are case-insensitive), a message identifier MUST NOT be altered
in any way during transport, or when copied (as into a References-
header), and thus a simple (case-sensitive) comparison of octets will
always suffice to recognize that same message identifier wherever it
subsequently reappears.
NOTE: These requirements are to be contrasted with those of the
un-normalized msg-ids defined by [RFC 2822], which may perfectly
legitimately become normalized (or vice versa) during transport
or copying in email systems.
NOTE: Some old software may treat message identifiers that
differ only in case within their id-right part as equivalent,
and implementors of agents that generate message identifiers
should be aware of this.
[< Prev]
[TOC] [ Next >]
#Diff to first older
--- ../usefor-article-06/Message-ID.out November 2001
+++ ../usefor-article-07/Message-ID.out May 2002
@@ -1,38 +1,58 @@
5.3. Message-ID
- The Message-ID header contains the article's message identifier, a
+ The Message-ID-header contains the article's message identifier, a
unique identifier distinguishing the article from every other
article. The content syntax makes use of syntax defined in [RFC
2822], subject to the following revised definition of no-fold-quote
and no-fold-literal.
+ header =/ Message-ID-header
+ Message-ID-header = "Message-ID" ":" SP Message-ID-content
+ *( ";" other-parameter )
Message-ID-content = msg-id
id-left = dot-atom-text / no-fold-quote
id-right = dot-atom-text / no-fold-literal
- no-fold-quote = DQUOTE *( strict-qtext / strict-quoted-pair )
+ no-fold-quote = DQUOTE
+ *( strict-qtext / "\\" / "\" DQUOTE )
+ qspecial
+ *( strict-qtext / "\\" / "\" DQUOTE )
DQUOTE
- no-fold-literal = DQUOTE *( dtext / strict-quoted-pair ) DQUOTE
+ qspecial = "(" / ")" / ; same as specials except
+ "<" / ">" / ; "\" and DQUOTE quoted
+ "[" / "]" /
+ ":" / ";" /
+ "@" / "\\" /
+ "," / "." /
+ "\" DQUOTE
+ no-fold-literal = "[" *( dtext / "\[" / "\]" / "\\" ) "]"
- A msg-id MUST NOT contain any SP within any strict-quoted-pair. The
- msg-id MUST NOT be more than 250 octets in length.
+ The msg-id MUST NOT be more than 250 octets in length.
- NOTE: The syntax ensures that a msg-id is restricted to pure
- US-ASCII, and is thus a strict subset of that defined by [RFC
- 2822]. The exclusion of SP is to ensure compatibility with
- existing software. The length restriction ensures that systems
- which accept message identifiers as a parameter when retrieving
- an article (e.g. [NNTP]) can rely on a bounded length. Observe
- that msg-id includes the '<' and '>'.
+ NOTE: The restriction to strict-qtext ensures that no UTF8-
+ xtra-char can appear. Msg-ids as defined here are a "normalized"
+ subset of those defined by [RFC 2822], ensuring that no string
+ of characters is quoted unless strictly necessary (it must
+ contain at least one qspecial) and no single character is
+ prefixed by a "\" in the form of a quoted-pair unless strictly
+ necessary, and moreover there is no possibility for WSP to
+ occur, whether quoted or not. The length restriction ensures
+ that systems which accept message identifiers as a parameter
+ when retrieving an article (e.g. [NNTP]) can rely on a bounded
+ length. Observe that msg-id includes the '<' and '>'.
- Following the provisions of [RFC 2822], an agent generating an
- article's message identifier MUST ensure that it is unique and that
- it is NEVER reused (either in Netnews or email). Moreover, even
- though commonly derived from the domain name of the originating site
- (and domain names are case-insensitive), a message identifier MUST
- NOT be altered in any way during transport, or when copied (as into a
- References header), and thus a simple (case-sensitive) comparison of
- octets will always suffice to recognise that same message identifier
- wherever it subsequently reappears.
+ An agent generating an article's message identifier MUST ensure that
+ it is unique (as also required in [RFC 2822]) and that it is NEVER
+ reused (either in Netnews or Email). Moreover, even though commonly
+ derived from the domain name of the originating site (and domain
+ names are case-insensitive), a message identifier MUST NOT be altered
+ in any way during transport, or when copied (as into a References-
+ header), and thus a simple (case-sensitive) comparison of octets will
+ always suffice to recognize that same message identifier wherever it
+ subsequently reappears.
+ NOTE: These requirements are to be contrasted with those of the
+ un-normalized msg-ids defined by [RFC 2822], which may perfectly
+ legitimately become normalized (or vice versa) during transport
+ or copying in email systems.
NOTE: some old software may treat message identifiers that
differ only in case within their id-right part as equivalent,