Network Working Group G. Klyne Internet-Draft MIMEsweeper Group Expires: March 25, 2002 Sep 24, 2001 A URN sub-namespace for message headers draft-klyne-urn-ietf-rfc822-00 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on March 25, 2002. Copyright Notice Copyright (C) The Internet Society (2001). All Rights Reserved. Abstract This specification defines a form of URI to be used to identify email and MIME message headers, defined by RFC 2822 and related documents. Klyne Expires March 25, 2002 [Page 1] Internet-Draft URNs for message headers Sep 2001 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Message metadata . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Definitions of message headers . . . . . . . . . . . . . . . . 3 2. Registration template . . . . . . . . . . . . . . . . . . . . 4 3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. IANA considerations . . . . . . . . . . . . . . . . . . . . . 5 5. Security considerations . . . . . . . . . . . . . . . . . . . 5 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 References . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 8 A. Revision history . . . . . . . . . . . . . . . . . . . . . . . 8 A.1 draft-klyne-urn-ietf-rfc822-00 . . . . . . . . . . . . . . . . 8 B. Todo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 9 Klyne Expires March 25, 2002 [Page 2] Internet-Draft URNs for message headers Sep 2001 1. Introduction This specification defines a form of URI to be used to identify email and MIME message headers, defined by RFC 2822 [20] and related documents. The URI scheme used is 'urn:' as defined by RFC 2141 [11], and the URN namespace used is 'ietf', defined by RFC 2648 [18] and extended by RFC ???? [26] to include names for IETF protocol parameters. 1.1 Message metadata Internet message headers convey a range of information about a message that can be useful to applications other than those involved directly in message transfer and presentation. Much personal and corporate knowledge resides in email and other message stores, and message headers are a rich source of metadata about the contents of these stores. There has been a growth of interest in extracting, storing and using metadata about Internet resources, particularly in connection with the World Wide Web. Traditionally, message headers have been used during the process of transferring and presenting a message, and otherwise pretty much ignored. This specification aims to facilitate the exchange of metadata derived from message headers. Much of the work on WWW information and metadata structures is based on XML [23]. XML employs an extensibility model, XML namespaces [24], that uses URIs to qualify local element and attribute names used in an XML document. One XML-based metadata format developed by the World Wide Web consortium is RDF [25]; this uses URIs to identify the resources described, and the relationships between them. The goal of this specification is to define a URI form for identifying Internet message headers, which allows them to be incorporated into XML formatted data; e.g. as in "An XML format for mail and other messages" [27]. This form might also be used with non-XML specifications that employ a URI-based extensibility model, such as the common profile for instant messaging format specification [28]. 1.2 Definitions of message headers RFC 2822 [20] defines a general syntax for Internet message headers. It also defines a number of headers to be used with Internet mail. Other specifications define additional headers that can appear in an Internet message: RFC 1036 [1], RFC 2156 [12], RFC 1496 [2], RFC 1766 [4], RFC 2183 [13], RFC 1864 [5], RFC 2421[15] and RFC 2045 [6], to name a few. Klyne Expires March 25, 2002 [Page 3] Internet-Draft URNs for message headers Sep 2001 Internet applications that use (some of) these message headers include Internet mail [19][20], NNTP newsgroup feeds [1], HTTP web access [17] and any other that uses MIME [6] encapsulation of message content. 2. Registration template The URN sub-namespace for message headers is defined as follows. Registry name: message-header Specification: RFC 2822 [16]. Repository: The primary definition of Internet message headers is RFC 2822 [16]. Currently, there is no IANA registry for Internet message headers, and additional header names are defined in a variety of standards-track RFC documents, including: RFC 1036 [1], RFC 1496 [2], RFC 1505 [3], RFC 1766 [4], RFC 1864 [5], RFC 2156 [12], RFC 2183 [13], RFC 2045 [6], RFC 2110 [8], RFC 2298 [9], RFC 2369 [10], RFC 2421 [15], RFC 2912 [21] and RFC 2919 [22]. A summary of defined message headers can be found in RFC 2076 [7], and updates [29]. Index value: The header name is the index value. RFC 2822 allows a header name to contain any printable, non-space US-ASCII character (i.e., characters that have US-ASCII codes between 33 and 126, inclusive), except colon (":"). Header names are case- insensitive. URN formation: The URN for a message header name is formed as: "urn:ietf:params:message-header:", where is the message header index value expressed using lower-case letters. RFC 2141 [11] defines the format of URNs. Allowable characters include upper- or lower-case ASCII letters, decimal digits, "(", ")", "+", ",", "-", ".", ":", "=", "@", ";", "$", "_", "!", "*" and "'". Any other character, or any '%' character, that appears as part of a header name should be replaced by its %-encoded equivalent (per URI specification [14]); e.g. '%' is represented as '%25', '/' as '%2f', etc. Klyne Expires March 25, 2002 [Page 4] Internet-Draft URNs for message headers Sep 2001 URNs are defined by RFC 2141 [11] as lexically equivalent if they are identical following case normalization of the urn scheme name, the namespace name and any %-escaping used. Header names are defined such that upper- and lower-case ASCII characters are not distinguished. Therefore, in forming a URN, all ASCII characters in the header name must be expressed in lower case. 3. Examples This table lists some header names, and the corresponding urn: URIs. From: urn:ietf:params:message-header:from To: urn:ietf:params:message-header:to X-Envelope-From: urn:ietf:params:message-header:x-envelope-from Content-MD5: urn:ietf:params:message-header:content-md5 4. IANA considerations This document calls for the creation of a new IETF sub-namespace, per RFC???? [26]. Registration details are in the preceding section. 5. Security considerations No security considerations are introduced by this specification beyond those already inherrent in use of message headers. 6. Acknowledgements The author gratefully acknowledges the contributions of: Leslie Daigle, Larry Masinter, [[[...]]] References [1] Horton, M. and R. Adams, "Standard for interchange of USENET messages", RFC 1036, December 1987. [2] Alvestrand, H., Jordan, K. and J. Romaguera, "Rules for downgrading messages from X.400/88 to X.400/84 when MIME content-types are present in the messages", RFC 1496, August Klyne Expires March 25, 2002 [Page 5] Internet-Draft URNs for message headers Sep 2001 1993. [3] Costanzo, A., Robinson, D. and R. Ullmann, "Encoding Header Field for Internet Messages", RFC 1505, August 1993. [4] Alvestrand, H., "Tags for the Identification of Languages", RFC 1766, March 1995. [5] Myers, J. and M. Rose, "The Content-MD5 Header Field", RFC 1864, October 1995. [6] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996. [7] Palme, J., "Common Internet Message Headers", RFC 2076, February 1997. [8] Palme, J. and A. Hopmann, "MIME E-mail Encapsulation of Aggregate Documents, such as HTML (MHTML)", RFC 2110, March 1997. [9] Fajman, R., "An Extensible Message Format for Message Disposition Notifications", RFC 2298, March 1998. [10] Baer, J. and G. Neufeld, "The Use of URLs as Meta-Syntax for Core Mail List Commands and their Transport through Message Header Fields", RFC 2369, July 1998. [11] Moats, R., "URN Syntax", RFC 2141, May 1997. [12] Kille, S., "MIXER (Mime Internet X.400 Enhanced Relay): Mapping between X.400 and RFC 822/MIME", RFC 2156, January 1998. [13] Moore, K., Troost, R. and S. Dorner, "Communicating Presentation Information in Internet Messages: The Content- Disposition Header Field", RFC 2183, August 1997. [14] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, August 1998. [15] Parsons, G. and G. Vaudreuil, "Voice Profile for Internet Mail - version 2", RFC 2421, September 1998. [16] Holtman, K., Mutz, A. and T. Hardie, "Media Feature Tag Registration Procedure", BCP 31, RFC 2506, March 1999. Klyne Expires March 25, 2002 [Page 6] Internet-Draft URNs for message headers Sep 2001 [17] Fielding, R., Gettys, J., Mogul, J., Nielsen, H., Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. [18] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, August 1999. [19] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, April 2001. [20] Resnick, P., "Internet Message Format", RFC 2822, April 2001. [21] Klyne, G., "Indicating Media Features for MIME Content", RFC 2912, September 2000. [22] Chandhok, R. and G. Wenger, "List-Id: A Structured Field and Namespace for the Identification of Mailing Lists", RFC 2919, April 2001. [23] Bray, T., Paoli, J., Sperberg-McQueen, C. and E. Maler, "Extensible Markup Language (XML) 1.0 (2nd ed)", W3C Recommendation xml, October 2000, . [24] Bray, T., Hollander, D. and A. Layman, "Namespaces in XML", W3C Recommendation xml-names, January 1999, . [25] Lassila, O. and R. Swick, "Resource Description Framework (RDF) Model and Syntax Specification", W3C Recommendation rdf-syntax, February 1999, . [26] Mealling, M., Masinter, L., Hardie, T. and G. Klyne, "An IETF URN Sub-namespace for Registered Protocol Parameters", Internet draft draft-mealling-iana-urn-01, August 2001, . [27] Klyne, G., "An XML format for mail and other messages", Internet draft draft-klyne-message-rfc822-xml-02, September 2001, . [28] Klyne, G., "Common Presence and Instant Messaging: Message Format", Internet draft draft-ietf-impp-cpim-msgfmt-03, June 2001, . Klyne Expires March 25, 2002 [Page 7] Internet-Draft URNs for message headers Sep 2001 [29] Palme, J., "Common Internet Message Header Fields", Internet draft draft-palme-mailext-headers-05, May 2001, . Author's Address Graham Klyne MIMEsweeper Group 1310 Waterside Arlington Business Park Theale, Reading RG7 4SA UK Phone: +44 118 903 8000 Fax: +44 118 903 9000 EMail: Graham.Klyne@MIMEsweeper.com Appendix A. Revision history (This section to be removed on final publication) A.1 draft-klyne-urn-ietf-rfc822-00 00a 19-Sep-2001: document initially created. 00b 24-Sep-2001: fix some major typos. Rework introductory sections to more clearly indicate motivation for this specification. Changed sub-namespace identifier to message-header. Note that various applications (not just email) use message headers. Appendix B. Todo (This section to be removed on final publication) o Align with urn:ietf:params: draft as it develops. o Review name of sub-namespace (currently "message-header"). Klyne Expires March 25, 2002 [Page 8] Internet-Draft URNs for message headers Sep 2001 Full Copyright Statement Copyright (C) The Internet Society (2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. Klyne Expires March 25, 2002 [Page 9]