Network Working Group N. Freed Internet-Draft Oracle Obsoletes: 4288 (if approved) J. Klensin Expires: March 8, 2012 T. Hansen AT&T Laboratories September 5, 2011 Media Type Specifications and Registration Procedures draft-freed-media-type-regs-01 Abstract This document defines procedures for the specification and registration of media types for use in MIME and other Internet protocols. Historical Note The media type registration process was initially defined for registering media types for use in the context of the asynchronous Internet mail environment. In this mail environment there is a need to limit the number of possible media types, to increase the likelihood of interoperability when the capabilities of the remote mail system are not known. As media types are used in new environments in which the proliferation of media types is not a hindrance to interoperability, the original procedure proved excessively restrictive and had to be generalized. This was initially done in [RFC2048], but the procedure defined there was still part of the MIME document set. The media type specification and registration procedure has now been moved to this separate document, to make it clear that it is independent of MIME. It may be desirable to restrict the use of media types to specific environments or to prohibit their use in other environments. This revision attempts for the first time to incorporate such restrictions into media type registrations in a systematic way. See Section 4.9 for additional discussion. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Freed, et al. Expires March 8, 2012 [Page 1] Internet-Draft Media Type Registration September 2011 Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on March 8, 2012. Copyright Notice Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Freed, et al. Expires March 8, 2012 [Page 2] Internet-Draft Media Type Registration September 2011 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Media Type Registration Preliminaries . . . . . . . . . . . . 5 3. Registration Trees and Subtype Names . . . . . . . . . . . . . 5 3.1. Standards Tree . . . . . . . . . . . . . . . . . . . . . . 6 3.2. Vendor Tree . . . . . . . . . . . . . . . . . . . . . . . 6 3.3. Personal or Vanity Tree . . . . . . . . . . . . . . . . . 7 3.4. Special x. Tree . . . . . . . . . . . . . . . . . . . . . 7 3.5. Additional Registration Trees . . . . . . . . . . . . . . 8 4. Registration Requirements . . . . . . . . . . . . . . . . . . 8 4.1. Functionality Requirement . . . . . . . . . . . . . . . . 8 4.2. Naming Requirements . . . . . . . . . . . . . . . . . . . 8 4.2.1. Text Media Types . . . . . . . . . . . . . . . . . . . 9 4.2.2. Image Media Types . . . . . . . . . . . . . . . . . . 10 4.2.3. Audio Media Types . . . . . . . . . . . . . . . . . . 10 4.2.4. Video Media Types . . . . . . . . . . . . . . . . . . 10 4.2.5. Application Media Types . . . . . . . . . . . . . . . 11 4.2.6. Multipart and Message Media Types . . . . . . . . . . 11 4.2.7. Additional Top-level Types . . . . . . . . . . . . . . 11 4.2.8. Structured Syntax Name Suffixes . . . . . . . . . . . 12 4.3. Parameter Requirements . . . . . . . . . . . . . . . . . . 12 4.4. Canonicalization and Format Requirements . . . . . . . . . 13 4.5. Interchange Recommendations . . . . . . . . . . . . . . . 14 4.6. Security Requirements . . . . . . . . . . . . . . . . . . 14 4.7. Requirements specific to XML media types . . . . . . . . . 15 4.8. Encoding Requirements . . . . . . . . . . . . . . . . . . 15 4.9. Usage and Implementation Non-requirements . . . . . . . . 16 4.10. Publication Requirements . . . . . . . . . . . . . . . . . 17 4.11. Additional Information . . . . . . . . . . . . . . . . . . 17 5. Media Type Registration Procedures . . . . . . . . . . . . . . 18 5.1. Preliminary Community Review . . . . . . . . . . . . . . . 18 5.2. Review and Approval . . . . . . . . . . . . . . . . . . . 19 5.3. IANA Registration . . . . . . . . . . . . . . . . . . . . 19 5.4. Media Types Reviewer . . . . . . . . . . . . . . . . . . . 19 5.5. Comments on Media Type Registrations . . . . . . . . . . . 20 5.6. Location of Registered Media Type List . . . . . . . . . . 20 5.7. IANA Procedures for Registering Media Types . . . . . . . 20 5.8. Change Procedures . . . . . . . . . . . . . . . . . . . . 21 5.9. Registration Template . . . . . . . . . . . . . . . . . . 22 6. Structured Syntax Suffix Registration Procedures . . . . . . . 23 6.1. Change Procedures . . . . . . . . . . . . . . . . . . . . 24 6.2. Structured Syntax Suffix Registration Template . . . . . . 24 7. Security Considerations . . . . . . . . . . . . . . . . . . . 25 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 25 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 10.1. Normative References . . . . . . . . . . . . . . . . . . . 25 Freed, et al. Expires March 8, 2012 [Page 3] Internet-Draft Media Type Registration September 2011 10.2. Informative References . . . . . . . . . . . . . . . . . . 26 Appendix A. Grandfathered Media Types . . . . . . . . . . . . . . 26 Appendix B. Changes Since RFC 4288 . . . . . . . . . . . . . . . 27 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 27 Freed, et al. Expires March 8, 2012 [Page 4] Internet-Draft Media Type Registration September 2011 1. Introduction Recent Internet protocols have been carefully designed to be easily extensible in certain areas. In particular, many protocols, including but not limited to MIME [RFC2045], are capable of carrying arbitrary labeled content. A mechanism is needed to label such content and a registration process is needed for these labels, to ensure that the set of such values is developed in an orderly, well- specified, and public manner. This document defines media type specification and registration procedures that use the Internet Assigned Numbers Authority (IANA) as a central registry. 1.1. Conventions Used in This Document 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 [RFC2119]. This specification makes use of the Augmented Backus-Naur Form (ABNF) [RFC4234] notation, including the core rules defined in Appendix A of that document. 2. Media Type Registration Preliminaries Registration of a new media type or types starts with the construction of a registration proposal. Registration may occur within several different registration trees that have different requirements, as discussed below. In general, a new registration proposal is circulated and reviewed in a fashion appropriate to the tree involved. The media type is then registered if the proposal is acceptable. The following sections describe the requirements and procedures used for each of the different registration trees. 3. Registration Trees and Subtype Names In order to increase the efficiency and flexibility of the registration process, different structures of subtype names may be registered to accommodate the different natural requirements for, e.g., a subtype that will be recommended for wide support and implementation by the Internet community, or a subtype that is used to move files associated with proprietary software. The following subsections define registration "trees" that are distinguished by the use of faceted names, e.g., names of the form "tree.subtree...subtype". Note that some media types defined prior Freed, et al. Expires March 8, 2012 [Page 5] Internet-Draft Media Type Registration September 2011 to this document do not conform to the naming conventions described below. See Appendix A for a discussion of them. 3.1. Standards Tree The standards tree is intended for types of general interest to the Internet community. Registrations in the standards tree MUST be either: 1. approved directly by the IESG, or 2. registered using the "Specification Required" IANA registration policy [RFC5226] (which implies Expert Review). The former procedure is used for registering registrations from IETF Consensus documents, or in rare cases when registering a grandfathered (see Appendix A) and/or otherwise incomplete registration is in the interest of the Internet community. In the latter case the IESG makes the decision on whether the registration submitter represents a recognized Standards Body; after that a Media Types Reviewer (Designated Expert or a group of Designated Experts) performs the expert review as specified in this document. In the case of registration for the IETF itself, the registration proposal MUST be published as an IETF Consensus RFC. Registrations published in non-IETF RFC streams are allowed and require IESG approval. Standards-tree registration RFCs can either be standalone "registration only" RFCs, or they can be incorporated into a more general specification of some sort. Media types in the standards tree are normally denoted by names that are not explicitly faceted, i.e., do not contain period (".", full stop) characters. The "owner" of a media type registration in the standards tree is assumed to be the standards body itself. Modification or alteration of the specification requires the same level of processing (e.g., a registration submitted on Standards Track can be revised in another Standards Track RFC, but can't be revised in an Informational RFC) required for the initial registration. 3.2. Vendor Tree The vendor tree is used for media types associated with commercially available products. "Vendor" or "producer" are construed as Freed, et al. Expires March 8, 2012 [Page 6] Internet-Draft Media Type Registration September 2011 equivalent and very broadly in this context. A registration may be placed in the vendor tree by anyone who needs to interchange files associated with the particular product. However, the registration formally belongs to the vendor or organization producing the software or file format being registered. Changes to the specification will be made at their request, as discussed in subsequent sections. Registrations in the vendor tree will be distinguished by the leading facet "vnd.". That may be followed, at the discretion of the registrant, by either a media subtype name from a well-known producer (e.g., "vnd.mudpie") or by an IANA-approved designation of the producer's name that is followed by a media type or product designation (e.g., vnd.bigcompany.funnypictures). While public exposure and review of media types to be registered in the vendor tree is not required, using the ietf-types@iana.org mailing list for review is strongly encouraged to improve the quality of those specifications. Registrations in the vendor tree may be submitted directly to the IANA, where they will undergo Expert Review [RFC5226] prior to approval. 3.3. Personal or Vanity Tree Registrations for media types created experimentally or as part of products that are not distributed commercially may be registered in the personal or vanity tree. The registrations are distinguished by the leading facet "prs.". The owner of "personal" registrations and associated specifications is the person or entity making the registration, or one to whom responsibility has been transferred as described below. While public exposure and review of media types to be registered in the personal tree is not required, using the ietf-types list for review is strongly encouraged to improve the quality of those specifications. Registrations in the personal tree may be submitted directly to the IANA, where they will undergo Expert Review [RFC5226] prior to approval. 3.4. Special x. Tree For convenience and symmetry with this registration scheme, subtype names with "x." as the first facet may be used for the same purposes for which names starting in "x-" are used. These types are unregistered, experimental, and for use only with the active agreement of the parties exchanging them. Freed, et al. Expires March 8, 2012 [Page 7] Internet-Draft Media Type Registration September 2011 However, with the simplified registration procedures described above for vendor and personal trees, it should rarely, if ever, be necessary to use unregistered experimental types. Therefore, use of both "x-" and "x." forms is discouraged. Types in this tree MUST NOT be registered. If a generally useful and widely deployed type incorrectly ends up with an "x." or "x-" name prefix, it MAY be registered using its current name in an alternate tree by following the procedure defined in Appendix A. 3.5. Additional Registration Trees From time to time and as required by the community, the IANA may, by and with the advice and consent of the IESG, create new top-level registration trees. It is explicitly assumed that these trees may be created for external registration and management by well-known permanent bodies; for example, scientific societies may register media types specific to the sciences they cover. In general, the quality of review of specifications for one of these additional registration trees is expected to be equivalent to registrations in the standards tree. Establishment of these new trees MUST be done with a Standards Track RFC. 4. Registration Requirements Media type registration proposals are all expected to conform to various requirements laid out in the following sections. Note that requirement specifics sometimes vary depending on the registration tree, again as detailed in the following sections. 4.1. Functionality Requirement Media types MUST function as an actual media format. Registration of things that are better thought of as a transfer encoding, as a charset, or as a collection of separate entities of another type, is not allowed. For example, although applications exist to decode the base64 transfer encoding [RFC2045], base64 cannot be registered as a media type. This requirement applies regardless of the registration tree involved. 4.2. Naming Requirements All registered media types MUST be assigned type and subtype names. The combination of these names serves to uniquely identify the media type, and the format of the subtype name identifies the registration Freed, et al. Expires March 8, 2012 [Page 8] Internet-Draft Media Type Registration September 2011 tree. Both type and subtype names are case-insensitive. Type and subtype names beginning with "X-" are reserved for experimental use and MUST NOT be registered. This parallels the restriction on the x. tree, as discussed in Section 3.4. Type and subtype names MUST conform to the following ABNF: type-name = reg-name subtype-name = reg-name reg-name = 1*127reg-name-chars reg-name-chars = ALPHA / DIGIT / "!" / "#" / "$" / "&" / "." / "+" / "-" / "^" / "_" Note that this syntax is somewhat more restrictive than what is allowed by the ABNF in [RFC2045]. Although the name syntax treates "+" as equivalent to any other character, it is used in media type names to introduce a structured syntax specificer suffix. Structured syntax suffix requirements are specified in Section 4.2.8. While it is possible for a given media type to be assigned additional names, the use of different names to identify the same media type is discouraged. These requirements apply regardless of the registration tree involved. The choice of top-level type name MUST take into account the nature of media type involved. New subtypes of top-level types MUST conform to the restrictions of the top-level type, if any. The following sections describe each of the initial set of top-level types and their associated restrictions. Additionally, various protocols, including but not limited to MIME, MAY impose additional restrictions on the media types they can transport. (See [RFC2046] for additional information on the restrictions MIME imposes.) 4.2.1. Text Media Types The "text" media type is intended for sending material that is principally textual in form. A "charset" parameter MAY be used to indicate the charset of the body text for "text" subtypes, notably including the subtype "text/plain", which is a generic subtype for plain text defined in [RFC2046]. If defined, a text "charset" parameter MUST be used to specify a charset name defined in Freed, et al. Expires March 8, 2012 [Page 9] Internet-Draft Media Type Registration September 2011 accordance to the procedures laid out in [RFC2978]. Plain text does not provide for or allow formatting commands, font attribute specifications, processing instructions, interpretation directives, or content markup. Plain text is seen simply as a linear sequence of characters, possibly interrupted by line breaks or page breaks. Plain text MAY allow the stacking of several characters in the same position in the text. Plain text in scripts like Arabic and Hebrew may also include facilities that allow the arbitrary mixing of text segments with opposite writing directions. Beyond plain text, there are many formats for representing what might be known as "rich text". An interesting characteristic of many such representations is that they are to some extent readable even without the software that interprets them. It is useful to distinguish them, at the highest level, from such unreadable data as images, audio, or text represented in an unreadable form. In the absence of appropriate interpretation software, it is reasonable to present subtypes of "text" to the user, while it is not reasonable to do so with most non-textual data. Such formatted textual data should be represented using subtypes of "text". 4.2.2. Image Media Types A media type of "image" indicates that the content specifies one or more separate images that require appropriate hardware to display. The subtype names the specific image format. 4.2.3. Audio Media Types A media type of "audio" indicates that the content contains audio data. 4.2.4. Video Media Types A media type of "video" indicates that the content specifies a time- varying-picture image, possibly with color and coordinated sound. The term 'video' is used in its most generic sense, rather than with reference to any particular technology or format, and is not meant to preclude subtypes such as animated drawings encoded compactly. Note that although in general this document strongly discourages the mixing of multiple media in a single body, it is recognized that many so-called video formats include a representation for synchronized audio and/or text, and this is explicitly permitted for subtypes of "video". Freed, et al. Expires March 8, 2012 [Page 10] Internet-Draft Media Type Registration September 2011 4.2.5. Application Media Types The "application" media type is to be used for discrete data that do not fit in any of the media types, and particularly for data to be processed by some type of application program. This is information that must be processed by an application before it is viewable or usable by a user. Expected uses for the "application" media type include but are not limited to file transfer, spreadsheets, presentations, scheduling data, and languages for "active" (computational) material. (The latter, in particular, can pose security problems that must be understood by implementors, and are considered in detail in the discussion of the "application/ PostScript" media type in [RFC2046].) For example, a meeting scheduler might define a standard representation for information about proposed meeting dates. An intelligent user agent would use this information to conduct a dialog with the user, and might then send additional material based on that dialog. More generally, there have been several "active" languages developed in which programs in a suitably specialized language are transported to a remote location and automatically run in the recipient's environment. Such applications may be defined as subtypes of the "application" media type. The subtype of "application" will often be either the name or include part of the name of the application for which the data are intended. This does not mean, however, that any application program name may be used freely as a subtype of "application". 4.2.6. Multipart and Message Media Types Multipart and message are composite types, that is, they provide a means of encapsulating zero or more objects, each labeled with its own media type. All subtypes of multipart and message MUST conform to the syntax rules and other requirements specified in [RFC2046]. 4.2.7. Additional Top-level Types In some cases a new media type may not "fit" under any currently defined top-level content type. Such cases are expected to be quite rare. However, if such a case does arise a new top-level type can be defined to accommodate it. Such a definition MUST be done via standards-track RFC; no other mechanism can be used to define additional top-level content types. Freed, et al. Expires March 8, 2012 [Page 11] Internet-Draft Media Type Registration September 2011 4.2.8. Structured Syntax Name Suffixes [RFC3023] defined the first such augmentation to the media type definition to additionally specify the underlying structure of that media type. To quote: This document also standardizes a convention (using the suffix '+xml') for naming media types ... when those media types represent XML MIME (Multipurpose Internet Mail Extensions) entities. That is, it specified a suffix (in that case, +xml) to be appended to the base media type name. Since this was published, the defacto practice has arisen for using this suffix convention for other well-known structuring syntaxes. In particular, media types have been registered with suffixes such as +der, +fastinfoset and +json. This specification formalizes this practice and sets up a registry for structured type name suffixes. The primary guideline for whether a structured type name suffix should be registerable is that it be) described by a readily- available description, preferably within a document published by an established standards organization, and for which there's a reference that can be used in a References section of an RFC. Media types that make use of a named structured syntax SHOULD use the appropriate registered +suffix for that structured syntax when they are registered. By the same token, media types MUST NOT be given names incorporating suffixes for structured syntaxes they do not actually employ. "+suffix" constructs for as-yet unregistered structured syntaxes should be used with care, given the possibility of conflicts with future suffix definitions. 4.3. Parameter Requirements Media types MAY elect to use one or more media type parameters, or some parameters may be automatically made available to the media type by virtue of being a subtype of a content type that defines a set of parameters applicable to any of its subtypes. In either case, the names, values, and meanings of any parameters MUST be fully specified when a media type is registered in the standards tree, and SHOULD be specified as completely as possible when media types are registered in the vendor or personal trees. Parameter names have the syntax as media type names and values: parameter-name = reg-name Freed, et al. Expires March 8, 2012 [Page 12] Internet-Draft Media Type Registration September 2011 Note that this syntax is somewhat more restrictive than what is allowed by the ABNF in [RFC2045] and amended by [RFC2231]. There is no defined syntax for parameter values. Therefore registrations MUST specify parameter value syntax. Additionally, some transports impose restrictions on parameter value syntax, so care should be taken to limit the use of potentially problematic syntaxes; e.g., pure binary valued parameters, while permitted in some protocols, probably should be avoided. New parameters SHOULD NOT be defined as a way to introduce new functionality in types registered in the standards tree, although new parameters MAY be added to convey additional information that does not otherwise change existing functionality. An example of this would be a "revision" parameter to indicate a revision level of an external specification such as JPEG. Similar behavior is encouraged for media types registered in the vendor or personal trees but is not required. 4.4. Canonicalization and Format Requirements All registered media types MUST employ a single, canonical data format, regardless of registration tree. A precise and openly available specification of the format of each media type MUST exist for all types registered in the standards tree and MUST at a minimum be referenced by, if it isn't actually included in, the media type registration proposal itself. The specifications of format and processing particulars may or may not be publicly available for media types registered in the vendor tree, and such registration proposals are explicitly permitted to limit specification to which software and version produce or process such media types. References to or inclusion of format specifications in registration proposals is encouraged but not required. Format specifications are still required for registration in the personal tree, but may be either published as RFCs or otherwise deposited with the IANA. The deposited specifications will meet the same criteria as those required to register a well-known TCP port and, in particular, need not be made public. Some media types involve the use of patented technology. The registration of media types involving patented technology is specifically permitted. However, the restrictions set forth in [RFC2026] on the use of patented technology in IETF standards-track protocols must be respected when the specification of a media type is Freed, et al. Expires March 8, 2012 [Page 13] Internet-Draft Media Type Registration September 2011 part of a standards-track protocol. In addition, other standards bodies making use of the standards tree may have their own rules regarding intellectual property that must be observed in their registrations. 4.5. Interchange Recommendations Media types SHOULD interoperate across as many systems and applications as possible. However, some media types will inevitably have problems interoperating across different platforms. Problems with different versions, byte ordering, and specifics of gateway handling can and will arise. Universal interoperability of media types is not required, but known interoperability issues SHOULD be identified whenever possible. Publication of a media type does not require an exhaustive review of interoperability, and the interoperability considerations section is subject to continuing evaluation. These recommendations apply regardless of the registration tree involved. 4.6. Security Requirements An analysis of security issues MUST be done for all types registered in the standards Tree. A similar analysis for media types registered in the vendor or personal trees is encouraged but not required. However, regardless of what security analysis has or has not been done, all descriptions of security issues MUST be as accurate as possible regardless of registration tree. In particular, a statement that there are "no security issues associated with this type" MUST NOT be confused with "the security issues associates with this type have not been assessed". There is absolutely no requirement that media types registered in any tree be secure or completely free from risks. Nevertheless, all known security risks MUST be identified in the registration of a media type, again regardless of registration tree. The security considerations section of all registrations is subject to continuing evaluation and modification, and in particular MAY be extended by use of the "comments on media types" mechanism described in Section 5.5 below. Some of the issues that should be looked at in a security analysis of a media type are: Freed, et al. Expires March 8, 2012 [Page 14] Internet-Draft Media Type Registration September 2011 o Complex media types may include provisions for directives that institute actions on a recipient's files or other resources. In many cases provision is made for originators to specify arbitrary actions in an unrestricted fashion that may then have devastating effects. See the registration of the application/postscript media type in [RFC2046] for an example of such directives and how they should be described in a media type registration. o All registrations MUST state whether or not they employ such "active content", and if they do, they MUST state what steps have been taken to protect users of the media type from harm. o Complex media types may include provisions for directives that institute actions that, while not directly harmful to the recipient, may result in disclosure of information that either facilitates a subsequent attack or else violates a recipient's privacy in some way. Again, the registration of the application/ postscript media type illustrates how such directives can be handled. o A media type that employs compression may provide an opportunity for sending a small amount of data that, when received and evaluated, expands enormously to consume all of the recipient's resources. All media types SHOULD state whether or not they employ compression, and if they do they should discuss what steps need to be taken to avoid such attacks. o A media type might be targeted for applications that require some sort of security assurance but not provide the necessary security mechanisms themselves. For example, a media type could be defined for storage of confidential medical information that in turn requires an external confidentiality service, or which is designed for use only within a secure environment. 4.7. Requirements specific to XML media types There are a number of additional requirements specific to the registration of XML media types. These requirements are specified in [RFC3023]. 4.8. Encoding Requirements Some transports impose restrictions on the type of data they can carry. For example, Internet mail traditionally was limited to 7bit US-ASCII text. Encoding schemes are often used to work around such transport limitations. It is therefore useful to note what sort of data a media type can Freed, et al. Expires March 8, 2012 [Page 15] Internet-Draft Media Type Registration September 2011 consist of as part of its registration. An "encoding considerations" field is provided for this purpose. Possible values of this field are: 7bit: The content of the media type consists solely of CRLF- delimited 7bit US-ASCII text. 8bit: The content of the media type consists solely of CRLF- delimited 8bit text. binary: The content consists of unrestricted sequence of octets. framed: The content consists of a series of frames or packets without internal framing or alignment indicators. Additional out- of-band information is needed to interpret the data properly, including but not necessarily limited to, knowledge of the boundaries between successive frames and knowledge of the transport mechanism. Note that media types of this sort cannot simply be stored in a file or transported as a simple stream of octets; therefore, such media types are unsuitable for use in many traditional protocols. A commonly used transport with framed encoding is the Real-time Transport Protocol, RTP. Additional rules for framed encodings defined for transport using RTP are given in [RFC3555]. Additional restrictions on 7bit and 8bit text are given in [RFC2046]. 4.9. Usage and Implementation Non-requirements In the asynchronous mail environment, where information on the capabilities of the remote mail agent is frequently not available to the sender, maximum interoperability is attained by restricting the media types used to those "common" formats expected to be widely implemented. This was asserted in the past as a reason to limit the number of possible media types, and resulted in a registration process with a significant hurdle and delay for those registering media types. However, the need for "common" media types does not require limiting the registration of new media types. If a limited set of media types is recommended for a particular application, that should be asserted by a separate applicability statement specific for the application and/or environment. Therefore, universal support and implementation of a media type is NOT a requirement for registration. However, if a media type is explicitly intended for limited use, this MUST be noted in its registration. The "Restrictions on Usage" field is provided for this Freed, et al. Expires March 8, 2012 [Page 16] Internet-Draft Media Type Registration September 2011 purpose. 4.10. Publication Requirements Proposals for media types registered in the standards tree by the IETF itself MUST be published as RFCs. RFC publication of vendor and personal media type proposals is encouraged but not required. In all cases the IANA will retain copies of all media type proposals and "publish" them as part of the media types registration tree itself. As stated previously, standards tree registrations for media types defined in documents produced by other standards bodies MUST be described by a formal standards specification produced by that body. Such specifications MUST contain an appropriate media type registration template taken from Section 5.9. Additionally, the copyright on the registration template MUST allow the IANA to copy it into the IANA registry. Other than IETF registrations in the standards tree, the registration of a data type does not imply endorsement, approval, or recommendation by the IANA or the IETF or even certification that the specification is adequate. To become Internet Standards, a protocol or data object must go through the IETF standards process. This is too difficult and too lengthy a process for the convenient registration of media types. The standards tree exists for media types that do require a substantive review and approval process in a recognized standards body. The vendor and personal trees exist for those media types that do not require such a process. It is expected that applicability statements for particular applications will be published from time to time in the IETF, recommending implementation of, and support for, media types that have proven particularly useful in those contexts. As discussed above, registration of a top-level type requires standards-track processing in the IETF and, hence, RFC publication. 4.11. Additional Information Various sorts of optional information SHOULD be included in the specification of a media type if it is available: o Magic number(s) (length, octet values). Magic numbers are byte sequences that are always present at a given place in the file and thus can be used to identify entities as being of a given media type. Freed, et al. Expires March 8, 2012 [Page 17] Internet-Draft Media Type Registration September 2011 o File name extension(s) commonly used on one or more platforms to indicate that some file contains a given media type. o Mac OS File Type code(s) (4 octets) used to label files containing a given media type. o Information about how fragment/anchor identifiers [RFC3986] are constructed for use in conjunction with this media type. In the case of a registration in the standards tree, this additional information MAY be provided in the formal specification of the media type. It is suggested that this be done by incorporating the IANA media type registration form into the specification itself. 5. Media Type Registration Procedures The media type registration procedure is not a formal standards process, but rather an administrative procedure intended to allow community comment and sanity checking without excessive time delay. The normal IETF processes should be followed for all IETF registrations in the standards tree. The posting of an Internet Draft is a necessary first step, followed by posting to the ietf-types@iana.org list as discussed below. Registrations in the vendor and personal tree should be submitted directly to the IANA, ideally after first posting to the ietf-types@iana.org list for review. Proposed registrations in the standards tree by other standards bodies MUST be communicated to both the IESG (at iesg@ietf.org) and to the ietf-types list (at ietf-types@iana.org). Prior posting as an Internet Draft is not required for these registrations, but may be helpful to the IESG and is encouraged. 5.1. Preliminary Community Review Notice of a potential media type registration in the standards tree MUST be sent to the "ietf-types@iana.org" mailing list for review. This mailing list has been established for the purpose of reviewing proposed media and access types. Registrations in other trees MAY be sent to the list for review as well. The intent of the public posting to this list is to solicit comments and feedback on the choice of type/subtype name, the unambiguity of the references with respect to versions and external profiling information, and a review of any interoperability or security Freed, et al. Expires March 8, 2012 [Page 18] Internet-Draft Media Type Registration September 2011 considerations. The submitter may submit a revised registration or abandon the registration completely and at any time. 5.2. Review and Approval Media types registered in the standards tree MUST either be reviwed and approved by the IESG or follow the Specification Required process: 1. Specification in a permanent and readily available public specification 2. Review and approval by the Designated Expert for media types 5.3. IANA Registration Provided that the media type meets all of the relevant requirements and has obtained whatever approval this specification requires, the author may submit the registration request to the IANA. Registration requests can be sent to iana@iana.org. A web form for registration requests is also available: http://www.iana.org/cgi-bin/mediatypes.pl Sending to ietf-types@iana.org does not constitute submitting the registration to the IANA. When the registration is either part of an RFC publication request or a registration in the standards tree submitted to the IESG, close coordination between the IANA and the IESG means IESG approval in effect submits the registration to the IANA. There is no need for an additional registration request in such cases. 5.4. Media Types Reviewer Registrations submitted to the IANA will be passed on to the media types reviewer. The media types reviewer, who is appointed by the IETF Applications Area Director(s), will review the registration to make sure it meets the requirements set forth in this document. Registrations that do not meet these requirements will be returned to the submitter for revision. Decisions made by the media types reviewer may be appealed to the IESG using the procedure specified in [RFC2026] section 6.5.4. Once a media type registration has passed review, the IANA will register the media type and make the media type registration available to the community. Freed, et al. Expires March 8, 2012 [Page 19] Internet-Draft Media Type Registration September 2011 5.5. Comments on Media Type Registrations Comments on registered media types may be submitted by members of the community to the IANA at iana@iana.org. These comments will be reviewed by the media types reviewer and then passed on to the "owner" of the media type if possible. Submitters of comments may request that their comment be attached to the media type registration itself, and if the IANA approves of this, the comment will be made accessible in conjunction with the type registration. 5.6. Location of Registered Media Type List Media type registrations are listed by the IANA at: http://www.iana.org/assignments/media-types/ 5.7. IANA Procedures for Registering Media Types Upon receipt of a registration request, the IANA will submit the request for Expert Review. The Expert Reviewer will check to see that the following minimal conditions are met: o Media types MUST function as an actual media format. In particular, charsets and transfer encodings MUST NOT be registered as media types. o All media types MUST have properly formed type and subtype names. All type names MUST be defined by a standards-track RFC. All type/subtype name pairs MUST be unique and MUST contain the proper tree prefix. o Types registered in the standards and personal trees MUST either provide a format specification or a pointer to one. o All media types MUST have a reasonable security considerations section. (It is neither possible nor necessary for the IANA to conduct a comprehensive security review of media type registrations. Nevertheless, the IANA has the authority to identify obviously incompetent material and return it to the submitter for revision.) o Registrations in the standards tree MUST satisfy the additional requirement that they originate from the IETF itself or from another Standards Body recognized as such by the IETF. Registrations in the standards tree MUST satisfy the additional requirement that they originate from the IETF itself or from another Standards Body recognized as such by the IETF. The IESG determines Freed, et al. Expires March 8, 2012 [Page 20] Internet-Draft Media Type Registration September 2011 whether or not a given organization qualifies as a standards body. 5.8. Change Procedures Once a media type has been published by the IANA, the owner may request a change to its definition. The descriptions of the different registration trees above designate the "owners" of each type of registration. The same procedure that would be appropriate for the original registration request is used to process a change request. Changes should be requested only when there are serious omissions or errors in the published specification. When review is required, a change request may be denied if it renders entities that were valid under the previous definition invalid under the new definition. The owner of a media type may pass responsibility to another person or agency by informing the IANA and the ietf-types list; this can be done without discussion or review. The IESG may reassign responsibility for a media type. The most common case of this will be to enable changes to be made to types where the author of the registration has died, moved out of contact or is otherwise unable to make changes that are important to the community. Media type registrations may not be deleted; media types that are no longer believed appropriate for use can be declared OBSOLETE by a change to their "intended use" field; such media types will be clearly marked in the lists published by the IANA. Freed, et al. Expires March 8, 2012 [Page 21] Internet-Draft Media Type Registration September 2011 5.9. Registration Template To: ietf-types@iana.org Subject: Registration of media type XXX/YYY Type name: Subtype name: Required parameters: Optional parameters: Encoding considerations: Security considerations: Interoperability considerations: Published specification: Applications that use this media type: Additional information: Magic number(s): File extension(s): Macintosh file type code(s): URI fragment/anchor identifier(s): Person & email address to contact for further information: Intended usage: (One of COMMON, LIMITED USE or OBSOLETE.) Restrictions on usage: (Any restrictions on where the media type can be used go here.) Author: Change controller: (Any other information that the author deems interesting may be added below this line.) Some discussion of Macintosh file type codes and their purpose can be Freed, et al. Expires March 8, 2012 [Page 22] Internet-Draft Media Type Registration September 2011 found in [MacOSFileTypes]. Additionally, please refrain from writing "none" or anything similar when no file extension or Macintosh file type is specified, lest "none" be confused with an actual code value. 6. Structured Syntax Suffix Registration Procedures Someone wishing to define a +suffix name for a structured syntax for use with a new media type registration SHOULD: 1. Check IANA's registry of media type name suffixes to see whether or not there is already an entry for that well-defined structured syntax. 2. If there is no entry for their suffix scheme, fill out the template (specified in Section 6.2) and include that with the media type registration. The template may be contained in an Internet Draft, alone or as part of some other protocol specification. The template may also be submitted in some other form (as part of another document or as a stand-alone document), but the contents will be treated as an "IETF Contribution" under the guidelines of RFC 3978 [RFC3978]. 3. Send a copy of the template or a pointer to the containing document (with specific reference to the section with the template) to the mailing list ietf-types@ietf.org, requesting review. This may be combined with a request to review the media type registration. Allow a reasonable time for discussion and comments. 4. Respond to review comments and make revisions to the proposed registration as needed to bring it into line with the guidelines given in this document. 5. Submit the (possibly updated) registration template (or pointer to document containing it) to IANA at iana@iana.org. Upon receipt of a structured syntax suffix registration request, 1. IANA checks the submission for completeness; if sections are missing or citations are not correct, IANA rejects the registration request. 2. IANA checks the current registry for a entry with the same name; if such a registry exists, IANA rejects the registration request. 3. IANA requests Expert Review of the registration request against the corresponding guidelines. Freed, et al. Expires March 8, 2012 [Page 23] Internet-Draft Media Type Registration September 2011 4. The Designated Expert may request additional review or discussion, as necessary. 5. If Expert Review recommends registration registration, IANA adds the registration to the appropriate registry. 6.1. Change Procedures Registrations may be updated in each registry by the same mechanism as required for an initial registration. In cases where the original definition of the scheme is contained in an IESG-approved document, update of the specification also requires IESG approval. 6.2. Structured Syntax Suffix Registration Template This template describes the fields that must be supplied in a structured syntax sufficx registration request: Name Full name of the well-defined structured syntax. +suffix Suffix used to indicate conformance to the syntax. References. Include full citations for all specifications necessary to understand the structured syntax. Encoding considerations General guidance regarding encoding considerations for any type employing this syntax should be given here. The same requirements for media type encoding considerations given in Section 4.8 apply here. Interoperability considerations Any issues regarding the interoperable use of types employing this structured syntax should be given here. Examples would include the existence of incompatible versions of the syntax, issues combining certain charsets with the syntax, or incompatibilities with other types or protocols. Security considerations Security considerations shared by media types employing this structured syntax must be specified here. The same requirements for media type security considerations given in Section 4.6 apply here, with the exception that option of not assessing the security considerations is not available for suffix registrations. Freed, et al. Expires March 8, 2012 [Page 24] Internet-Draft Media Type Registration September 2011 Contact Person (including contact information) to contact for further information. Author/Change controller. Person (including contact information) authorized to change this suffix registration. 7. Security Considerations Security requirements for media type registrations are discussed in Section 4.6. 8. IANA Considerations The purpose of this document is to define IANA registries for media types and structured syntax suffixes. 9. Acknowledgements The current authors would like to acknowledge their debt to the late Dr. Jon Postel, whose general model of IANA registration procedures and specific contributions shaped the predecessors of this document [RFC2048]. We hope that the current version is one with which he would have agreed but, as it is impossible to verify that agreement, we have regretfully removed his name as a co-author. Alexey Melnikov provided many helpful review comments and suggestions. 10. References 10.1. Normative References [RFC2045] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies", RFC 2045, November 1996. [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, November 1996. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Freed, et al. Expires March 8, 2012 [Page 25] Internet-Draft Media Type Registration September 2011 [RFC2978] Freed, N. and J. Postel, "IANA Charset Registration Procedures", BCP 19, RFC 2978, October 2000. [RFC3023] Murata, M., St. Laurent, S., and D. Kohn, "XML Media Types", RFC 3023, January 2001. [RFC3555] Casner, S. and P. Hoschka, "MIME Type Registration of RTP Payload Formats", RFC 3555, July 2003. [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, January 2005. [RFC4234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 4234, October 2005. [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May 2008. 10.2. Informative References [MacOSFileTypes] Apple Computer, Inc., "Mac OS: File Type and Creator Codes, and File Formats", Apple Knowledge Base Article 55381, June 1993, . [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. [RFC2048] Freed, N., Klensin, J., and J. Postel, "Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures", BCP 13, RFC 2048, November 1996. [RFC2231] Freed, N. and K. Moore, "MIME Parameter Value and Encoded Word Extensions: Character Sets, Languages, and Continuations", RFC 2231, November 1997. [RFC3978] Bradner, S., "IETF Rights in Contributions", RFC 3978, March 2005. Appendix A. Grandfathered Media Types A number of media types with unfaceted names, registered prior to 1996, would, if registered under the guidelines in this document, be Freed, et al. Expires March 8, 2012 [Page 26] Internet-Draft Media Type Registration September 2011 given a faceted name and placed into either the vendor or personal trees. Reregistration of those types to reflect the appropriate trees is encouraged but not required. Ownership and change control principles outlined in this document apply to those types as if they had been registered in the trees described above. From time to time there may also be cases where a media type with an unfaceted name has been widely deployed without being registered. If possible such types SHOULD be reregistered with a proper faceted name. However, if this is not possible the type can, subject to approval by both the media types reviewer and the IESG, be registered in the proper tree with its unfaceted name. Appendix B. Changes Since RFC 4288 o Suffixes to indicate the use of a particular structured syntax are now fully specified and a suffix registration process has been defined. o Registration of widely deployed unregistered unfaceted type names in the vendor or personal trees is now allowed, subject to approval by the media types reviewer and the IESG. o The standards tree registration process has been revised to include Expert Review and generalized to address cases like media types in non-IETF stream documents. o A field for fragment/anchor identifiers has been added to the registration template. Authors' Addresses Ned Freed Oracle 800 Royal Oaks Monrovia, CA 91016-6347 USA Email: ned+ietf@mrochek.com Freed, et al. Expires March 8, 2012 [Page 27] Internet-Draft Media Type Registration September 2011 John C. Klensin 1770 Massachusetts Ave, #322 Cambridge, MA 02140 USA Email: klensin+ietf@jck.com Tony Hansen AT&T Laboratories 200 Laurel Ave. Middletown, NJ 07748 USA Email: tony+mtsuffix@maillennium.att.com Freed, et al. Expires March 8, 2012 [Page 28]