Network Working Group G. Klyne Internet-Draft MIMEsweeper Group Expires: March 28, 2002 Sep 27, 2001 Registration procedures for message headers draft-klyne-msghdr-registry-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 28, 2002. Copyright Notice Copyright (C) The Internet Society (2001). All Rights Reserved. Abstract This specification defines registration procedures for the message headers used by Internet mail, newsgroup feeds, HTTP and other Internet applications. Discussion of this document Please send comments to . To subscribe to this list, send a message with the body 'subscribe' to . Klyne Expires March 28, 2002 [Page 1] Internet-Draft Message header registration Sep 2001 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Structure of this document . . . . . . . . . . . . . . . . . . 3 1.2 Document terminology and conventions . . . . . . . . . . . . . 3 2. Message headers . . . . . . . . . . . . . . . . . . . . . . . 3 2.1 Standard and non-standard headers . . . . . . . . . . . . . . 4 2.2 Definitions of message headers . . . . . . . . . . . . . . . . 4 3. Registration procedure . . . . . . . . . . . . . . . . . . . . 4 3.1 Header specification . . . . . . . . . . . . . . . . . . . . . 5 3.2 Registration template . . . . . . . . . . . . . . . . . . . . 5 3.3 Submission of registration . . . . . . . . . . . . . . . . . . 6 3.4 Change control . . . . . . . . . . . . . . . . . . . . . . . . 6 3.5 Comments on header definitions . . . . . . . . . . . . . . . . 6 3.6 Location of message header registry . . . . . . . . . . . . . 6 4. Initial registrations . . . . . . . . . . . . . . . . . . . . 6 5. IANA considerations . . . . . . . . . . . . . . . . . . . . . 7 6. Security considerations . . . . . . . . . . . . . . . . . . . 7 References . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 9 A. Revision history . . . . . . . . . . . . . . . . . . . . . . . 9 A.1 draft-klyne-msghdr-registry-00 . . . . . . . . . . . . . . . . 9 B. Todo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 11 Klyne Expires March 28, 2002 [Page 2] Internet-Draft Message header registration Sep 2001 1. Introduction This specification defines registration procedures for the message headers used by Internet mail, newsgroup feeds, HTTP and other Internet applications. The primary specification for Internet message headers is the Internet mail message format specification, RFC 2822 [21], but there are many other Internet standards track documents that define additional headers within the same namespace, notably MIME [6] and related specifications. Other Internet applications that use MIME, such as newsgroup feeds and HTTP web access, also use many of the same headers. Although in principle each application defines its own set of valid headers, exchange of messages between applications (e.g. mail to news gateways), common use of MIME encapsulation, and the possibility of common processing for various message types (e.g. a common message archive and retrieval facility) makes it desirable to have a single point of reference for standardized headers. The message header registry defined here serves that purpose. 1.1 Structure of this document Section Section 2 discusses the purpose of this specification, and indicates some sources of information about defined message headers. Section Section 3 defines the message header registry, and sets out requirements and procedures for creating entries in it. 1.2 Document terminology and conventions The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [9]. NOTE: indented comments like this provide additional nonessential information about the rationale behind this document. [[[Editorial comments and questions about outstanding issues are provided in triple brackets like this. These working comments should be resolved and removed prior to final publication.]]] 2. Message headers Klyne Expires March 28, 2002 [Page 3] Internet-Draft Message header registration Sep 2001 2.1 Standard and non-standard headers Many message headers are defined in standards-track documents, which means they have been subjected to a process of community review and achieved consensus that they provide a useful and well-founded capability. Many other headers have been defined and adopted for private use. The registry defined here is intended for headers defined in IETF standards-track documents, or those that have achieved a comparable level of community review. Thus, the assignment policy for registration of new message headers is [[[ IETF consensus | Standards action ]]], as defined by RFC 2434 [17]. A registry for non-standards-track message headers is at best informational, and at least two such sources of information already exist: o RFC 2076 [7], as updated [24], contains a list of commonly used message headers, and o Dan Bernstein maintains a list of standard and non-standard mail message headers [25]. 2.2 Definitions of message headers RFC 2822 [21] defines a general syntax for Internet message headers. It also defines a number of headers for use with Internet mail. 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 [11], RFC 2183 [12], RFC 2045 [6], RFC 2110 [8], RFC 2298 [13], RFC 2369 [14], RFC 2421 [16], RFC 2821 [20], RFC 2912 [22] and RFC 2919 [23]. Internet applications that use (some of) these message headers include Internet mail [20][21], NNTP newsgroup feeds [1], HTTP web access [18] and any other that uses MIME [6] encapsulation of message content. 3. Registration procedure The procedure for registering a message header is: 1. Construct a header specification 2. Prepare a registration template Klyne Expires March 28, 2002 [Page 4] Internet-Draft Message header registration Sep 2001 3. Submit the registration template 3.1 Header specification Registration of a new message header starts with construction of a proposal that describes the syntax, semantics and intended use of the header. This proposal MUST be published as an RFC. A registered header name MUST conform to the syntax defined by RFC 2822, section 3.6.8, for "field name". Further, the "." character is reserved to indicate a naming sub-structure and MUST NOT be included in any registered header name. Currently, no specific sub-structure is defined; if used, any such structure MUST be defined by a standards track RFC document. It is further RECOMMENDED that characters in a registered message header name are restricted to those characters that can be used without escaping in a URI [15], namely upper- or lower-case ASCII letters, decimal digits, "(", ")", "+", ",", "-", "=", "@", ";", "$", "_", "!", "*" and "'". The name of a registered header MUST be unique; if an name is already assigned to an existing registered header name, some other name must be chosen. Header names beginning with "X-" or "x-" are reserved for private use, and MUST NOT be registered or defined normatively by a standards track RFC. 3.2 Registration template The registration template for a message header is typically contained in the defining document, or may be prepared separately. The registration template for a message header contains the following information: Header name: The name requested for the new header. This MUST conform to the header specification details above. Specification document: A reference to the standards track RFC that defined the header. Intended use: Specify "general", "mail", "news", "http", "MIME" or cite any other standards-track RFC defining the protocol with which the Klyne Expires March 28, 2002 [Page 5] Internet-Draft Message header registration Sep 2001 header is intended to be used. Related information: Optionally, citations to additional documents containing further information relevant to the defined message header. 3.3 Submission of registration The registration is submitted for incorporation in the IANA message header registry by one of the following means: o An IANA considerations section in the defining RFC, calling for registration of the message header and referencing the registration template within the same document. Registration of the header is processed as part of the RFC publication process. o Sending the registration template in an email to the designated email address [26]. IANA will register the message header if the requested name and the specification document meet the criteria stated. 3.4 Change control Change control of a header registration is subject to the same conditions as the initial registration; i.e. publication of an IESG- approved RFC. 3.5 Comments on header definitions Comments on registered message headers should be sent to the IETF-822 email discussion list [26]. Comments on proposed message headers should preferably be sent to the discusion forum for the specification concerned. They may also be sent to the IETF-822 list [26] if they concern wider implications than are addressed by the specification document. 3.6 Location of message header registry The message header registry is accessible from IANA's web site [27]. 4. Initial registrations This specification calls for initial registration of all message headers defined in existing standards-track documents. A list of such headers can be found in RFC 2076 [7] and updates [24]. Section Klyne Expires March 28, 2002 [Page 6] Internet-Draft Message header registration Sep 2001 Section 2.2 of this document contains a list of standards-track specifications that define message headers. [[[Need to provide list of headers+documents here for initial registration?]]] 5. IANA considerations This specification calls for: o A new IANA registry for message headers, per section Section 3 of this document. The policy for inclusion in this registry is [[[ IETF consensus | Standards action ]]], per RFC 2434 [17]. o Initial message header registrations, per section Section 4 of this document. 6. Security considerations No security considerations are introduced by this specification beyond those already inherrent in the use of message headers. 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 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. Klyne Expires March 28, 2002 [Page 7] Internet-Draft Message header registration Sep 2001 [8] Palme, J. and A. Hopmann, "MIME E-mail Encapsulation of Aggregate Documents, such as HTML (MHTML)", RFC 2110, March 1997. [9] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [10] Moats, R., "URN Syntax", RFC 2141, May 1997. [11] Kille, S., "MIXER (Mime Internet X.400 Enhanced Relay): Mapping between X.400 and RFC 822/MIME", RFC 2156, January 1998. [12] Moore, K., Troost, R. and S. Dorner, "Communicating Presentation Information in Internet Messages: The Content- Disposition Header Field", RFC 2183, August 1997. [13] Fajman, R., "An Extensible Message Format for Message Disposition Notifications", RFC 2298, March 1998. [14] 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. [15] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax", RFC 2396, August 1998. [16] Parsons, G. and G. Vaudreuil, "Voice Profile for Internet Mail - version 2", RFC 2421, September 1998. [17] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. [18] 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. [19] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, August 1999. [20] Klensin, J., "Simple Mail Transfer Protocol", RFC 2821, April 2001. [21] Resnick, P., "Internet Message Format", RFC 2822, April 2001. [22] Klyne, G., "Indicating Media Features for MIME Content", RFC 2912, September 2000. Klyne Expires March 28, 2002 [Page 8] Internet-Draft Message header registration Sep 2001 [23] Chandhok, R. and G. Wenger, "List-Id: A Structured Field and Namespace for the Identification of Mailing Lists", RFC 2919, April 2001. [24] Palme, J., "Common Internet Message Header Fields", Internet draft draft-palme-mailext-headers-05, May 2001, . [25] Bernstein, D., "Internet mail field name index", . [26] "Mail address for submission of header registration template", . [27] "IANA list of registered message headers", . 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-msghdr-registry-00 00a 27-Sep-2001: document initially created. Appendix B. Todo (This section to be removed on final publication) o Finalize choice of RFC 2434 assignment policy. See section Section 2.1. Klyne Expires March 28, 2002 [Page 9] Internet-Draft Message header registration Sep 2001 o Finalize email address for sumbission of registration templates. o Finalize web address for registry. Klyne Expires March 28, 2002 [Page 10] Internet-Draft Message header registration 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 28, 2002 [Page 11]