ARMWARE RFC Archive <- BCP Index (1..100)

BCP 13

(also RFC 4289, RFC 6838)

Obsoletes RFC 2048

[Note that this file is a concatenation of more than one RFC.]

Network Working Group                                           N. Freed
Request for Comments: 4289                              Sun Microsystems
BCP: 13                                                       J. Klensin
Obsoletes: 2048                                            December 2005
Category: Best Current Practice

        Multipurpose Internet Mail Extensions (MIME) Part Four:
                        Registration Procedures

Status of This Memo

   This document specifies an Internet Best Current Practices for the
   Internet Community, and requests discussion and suggestions for
   improvements.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This document specifies IANA registration procedures for MIME
   external body access types and content-transfer-encodings.

Freed & Klensin          Best Current Practice                  [Page 1]



RFC 4289                   MIME Registration               December 2005

Table of Contents

   1. Introduction ....................................................2
   2. External Body Access Types ......................................3
      2.1. Registration Requirements ..................................3
         2.1.1. Naming Requirements ...................................3
         2.1.2. Mechanism Specification Requirements ..................3
         2.1.3. Publication Requirements ..............................4
         2.1.4. Security Requirements .................................4
      2.2. Registration Procedure .....................................4
         2.2.1. Present the Access Type to the Community ..............4
         2.2.2. Access Type Reviewer ..................................4
         2.2.3. IANA Registration .....................................5
      2.3. Location of Registered Access Type List ....................5
      2.4. IANA Procedures for Registering Access Types ...............5
   3. Transfer Encodings ..............................................5
      3.1. Transfer Encoding Requirements .............................6
         3.1.1. Naming Requirements ...................................6
         3.1.2. Algorithm Specification Requirements ..................6
         3.1.3. Input Domain Requirements .............................6
         3.1.4. Output Range Requirements .............................6
         3.1.5. Data Integrity and Generality Requirements ............7
         3.1.6. New Functionality Requirements ........................7
         3.1.7. Security Requirements .................................7
      3.2. Transfer Encoding Definition Procedure .....................7
      3.3. IANA Procedures for Transfer Encoding Registration .........8
      3.4. Location of Registered Transfer Encodings List .............8
   4. Security Considerations .........................................8
   5. IANA Considerations .............................................8
   6. Acknowledgements ................................................8
   7. References ......................................................9
   A.  Changes Since RFC 2048 .........................................9

1.  Introduction

   Recent Internet protocols have been carefully designed to be easily
   extensible in certain areas.  In particular, MIME [RFC2045] is an
   open-ended framework and can accommodate additional object types,
   charsets, and access methods without any changes to the basic
   protocol.  A registration process is needed, however, to ensure that
   the set of such values is developed in an orderly, well-specified,
   and public manner.

   This document defines registration procedures that use the Internet
   Assigned Numbers Authority (IANA) as a central registry for these
   values.

Freed & Klensin          Best Current Practice                  [Page 2]



RFC 4289                   MIME Registration               December 2005

   Note:

      Registration of media types and charsets for use in MIME are
      specified in separate documents [RFC4288] [RFC2978] and are not
      addressed here.

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].

2.  External Body Access Types

   [RFC2046] defines the message/external-body media type, whereby a
   MIME entity can act as pointer to the actual body data in lieu of
   including the data directly in the entity body.  Each
   message/external-body reference specifies an access type, which
   determines the mechanism used to retrieve the actual body data.  RFC
   2046 defines an initial set of access types but allows for the
   registration of additional access types to accommodate new retrieval
   mechanisms.

2.1.  Registration Requirements

   New access type specifications MUST conform to the requirements
   described below.

2.1.1.  Naming Requirements

   Each access type MUST have a unique name.  This name appears in the
   access-type parameter in the message/external-body content-type
   header field and MUST conform to MIME content type parameter syntax.

2.1.2.  Mechanism Specification Requirements

   All of the protocols, transports, and procedures used by a given
   access type MUST be described, either in the specification of the
   access type itself or in some other publicly available specification,
   in sufficient detail for the access type to be implemented by any
   competent implementor.  Use of secret and/or proprietary methods in
   access types is expressly prohibited.  The restrictions imposed by
   [RFC2026] on the standardization of patented algorithms must be
   respected as well.

Freed & Klensin          Best Current Practice                  [Page 3]



RFC 4289                   MIME Registration               December 2005

2.1.3.  Publication Requirements

   All access types MUST be described by an RFC.  The RFC may be
   informational rather than standards-track, although standards-track
   review and approval are encouraged for all access types.

2.1.4.  Security Requirements

   Any known security issues that arise from the use of the access type
   MUST be completely and fully described.  It is not required that the
   access type be secure or that it be free from risks, but it is
   required that the known risks be identified.  Publication of a new
   access type does not require an exhaustive security review, and the
   security considerations section is subject to continuing evaluation.
   Additional security considerations SHOULD be addressed by publishing
   revised versions of the access type specification.

2.2.  Registration Procedure

   Registration of a new access type starts with the publication of the
   specification as an Internet Draft.

2.2.1.  Present the Access Type to the Community

   A proposed access type specification is sent to the
   "ietf-types@iana.org" mailing list for a two-week review period.
   This mailing list has been established for the purpose of reviewing
   proposed access and media types.  Proposed access types are not
   formally registered and must not be used.

   The intent of the public posting is to solicit comments and feedback
   on the access type specification and a review of any security
   considerations.

2.2.2.  Access Type Reviewer

   When the two-week period has passed, the access type reviewer, who is
   appointed by the IETF Applications Area Director(s), either forwards
   the request to iana@iana.org or rejects it because of significant
   objections raised on the list.

   Decisions made by the reviewer must be posted to the ietf-types
   mailing list within 14 days.  Decisions made by the reviewer may be
   appealed to the IESG as specified in [RFC2026].

Freed & Klensin          Best Current Practice                  [Page 4]



RFC 4289                   MIME Registration               December 2005

2.2.3.  IANA Registration

   Provided that the access type either has passed review or has been
   successfully appealed to the IESG, the IANA will register the access
   type and make the registration available to the community.  The
   specification of the access type must also be published as an RFC.

2.3.  Location of Registered Access Type List

   Access type registrations are listed by the IANA on the following web
   page:

     http://www.iana.org/assignments/access-types

2.4.  IANA Procedures for Registering Access Types

   The identity of the access type reviewer is communicated to the IANA
   by the IESG.  The IANA then only acts either in response to access
   type definitions that are approved by the access type reviewer and
   forwarded to the IANA for registration, or in response to a
   communication from the IESG that an access type definition appeal has
   overturned the access type reviewer's ruling.

3.  Transfer Encodings

   Transfer encodings are transformations applied to MIME media types
   after conversion to the media type's canonical form.  Transfer
   encodings are used for several purposes:

   o  Many transports, especially message transports, can only handle
      data consisting of relatively short lines of text.  There can be
      severe restrictions on what characters can be used in these lines
      of text.  Some transports are restricted to a small subset of US-
      ASCII, and others cannot handle certain character sequences.
      Transfer encodings are used to transform binary data into a
      textual form that can survive such transports.  Examples of this
      sort of transfer encoding include the base64 and quoted-printable
      transfer encodings defined in [RFC2045].

   o  Image, audio, video, and even application entities are sometimes
      quite large.  Compression algorithms are often effective in
      reducing the size of large entities.  Transfer encodings can be
      used to apply general-purpose non-lossy compression algorithms to
      MIME entities.

   o  Transport encodings can be defined as a means of representing
      existing encoding formats in a MIME context.

Freed & Klensin          Best Current Practice                  [Page 5]



RFC 4289                   MIME Registration               December 2005

   IMPORTANT:  The standardization of a large number of different
   transfer encodings is seen as a significant barrier to widespread
   interoperability and is expressly discouraged.  Nevertheless, the
   following procedure has been defined in order to provide a means of
   defining additional transfer encodings, should standardization
   actually be justified.

3.1.  Transfer Encoding Requirements

   Transfer encoding specifications MUST conform to the requirements
   described below.

3.1.1.  Naming Requirements

   Each transfer encoding MUST have a unique name.  This name appears in
   the Content-Transfer-Encoding header field and MUST conform to the
   syntax of that field.

3.1.2.  Algorithm Specification Requirements

   All of the algorithms used in a transfer encoding (e.g., conversion
   to printable form, compression) MUST be described in their entirety
   in the transfer encoding specification.  Use of secret and/or

   proprietary algorithms in standardized transfer encodings is
   expressly prohibited.  The restrictions imposed by [RFC2026] on the
   standardization of patented algorithms MUST be respected as well.

3.1.3.  Input Domain Requirements

   All transfer encodings MUST be applicable to an arbitrary sequence of
   octets of any length.  Dependence on particular input forms is not
   allowed.

   It should be noted that the 7bit and 8bit encodings do not conform to
   this requirement.  Aside from the undesirability of having
   specialized encodings, the intent here is to forbid the addition of
   additional encodings similar to, or redundant with, 7bit and 8bit.

3.1.4.  Output Range Requirements

   There is no requirement that a particular transfer encoding produce a
   particular form of encoded output.  However, the output format for
   each transfer encoding MUST be fully and completely documented.  In
   particular, each specification MUST clearly state whether the output
   format always lies within the confines of 7bit or 8bit or is simply
   pure binary data.

Freed & Klensin          Best Current Practice                  [Page 6]



RFC 4289                   MIME Registration               December 2005

3.1.5.  Data Integrity and Generality Requirements

   All transfer encodings MUST be fully invertible on any platform; it
   MUST be possible for anyone to recover the original data by
   performing the corresponding decoding operation.  Note that this
   requirement effectively excludes all forms of lossy compression as
   well as all forms of encryption from use as a transfer encoding.

3.1.6.  New Functionality Requirements

   All transfer encodings MUST provide some sort of new functionality.
   Some degree of functionality overlap with previously defined transfer
   encodings is acceptable, but any new transfer encoding MUST also
   offer something no other transfer encoding provides.

3.1.7.  Security Requirements

   To the greatest extent possible, transfer encodings SHOULD NOT
   contain known security issues.  Regardless, any known security issues
   that arise from the use of the transfer encoding MUST be completely
   and fully described.  If additional security issues come to light
   after initial publication and registration, they SHOULD be addressed
   by publishing revised versions of the transfer encoding
   specification.

3.2.  Transfer Encoding Definition Procedure

   Definition of a new transfer encoding starts with the publication of
   the specification as an Internet Draft.  The draft MUST define the
   transfer encoding precisely and completely, and it MUST also provide
   substantial justification for defining and standardizing a new
   transfer encoding.  This specification MUST then be presented to the
   IESG for consideration.  The IESG can:

   o  reject the specification outright as being inappropriate for
      standardization,

   o  assign the specification to an existing IETF working group for
      further work,

   o  approve the formation of an IETF working group to work on the
      specification in accordance with IETF procedures, or

   o  accept the specification as-is for processing as an individual
      standards-track submission.

   Transfer encoding specifications on the standards track follow normal
   IETF rules for standards-track documents.  A transfer encoding is

Freed & Klensin          Best Current Practice                  [Page 7]



RFC 4289                   MIME Registration               December 2005

   considered to be defined and available for use once it is on the
   standards track.

3.3.  IANA Procedures for Transfer Encoding Registration

   There is no need for a special procedure for registering Transfer
   Encodings with the IANA.  All legitimate transfer encoding
   registrations MUST appear as a standards-track RFC, so it is the
   IESG's responsibility to notify the IANA when a new transfer encoding
   has been approved.

3.4.  Location of Registered Transfer Encodings List

   The list of transfer encoding registrations can be found at:

     http://www.iana.org/assignments/transfer-encodings

4.  Security Considerations

   Security requirements for access types are discussed in Section
   2.1.4.  Security requirements for transfer encodings are discussed in
   Section 3.1.7.

5.  IANA Considerations

   The sole purpose of this document is to define IANA registries for
   access types and transfer encodings.  The IANA procedures for these
   registries are specified in Section 2.4 and Section 3.3 respectively.

6.  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.

Freed & Klensin          Best Current Practice                  [Page 8]



RFC 4289                   MIME Registration               December 2005

7.  References

7.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.

   [RFC4288]  Freed, N. and J. Klensin, "Media Type Specifications and
              Registration Procedures", BCP 13, RFC 4288, December 2005.

7.2.  Informative References

   [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.

   [RFC2978]  Freed, N. and J. Postel, "IANA Charset Registration
              Procedures", BCP 19, RFC 2978, October 2000.

Freed & Klensin          Best Current Practice                  [Page 9]



RFC 4289                   MIME Registration               December 2005

Appendix A.  Changes Since RFC 2048

   o  Media type registration procedures are now described in a separate
      document [RFC4288].

   o  The various URLs and addresses in this document have been changed
      so they all refer to iana.org rather than isi.edu.  Additionally,
      many of the URLs have been changed to use HTTP; formerly they used
      FTP.

   o  Much of the document has been clarified in the light of
      operational experience with these procedures.

   o  Several of the references in this document have been updated to
      refer to current versions of the relevant specifications.

   o  The option of assigning the task of working on a new transfer
      encoding to an existing working group has been added to the list
      of possible actions the IESG can take.

   o  Security considerations and IANA considerations sections have been
      added.

   o  Registration of charsets for use in MIME is specified in [RFC2978]
      and is no longer addressed by this document.

Authors' Addresses

   Ned Freed
   Sun Microsystems
   3401 Centrelake Drive, Suite 410
   Ontario, CA  92761-1205
   USA

   Phone: +1 909 457 4293
   EMail: ned.freed@mrochek.com

   John C. Klensin
   1770 Massachusetts Ave, #322
   Cambridge, MA  02140

   EMail: klensin+ietf@jck.com

Freed & Klensin          Best Current Practice                 [Page 10]



RFC 4289                   MIME Registration               December 2005

Full Copyright Statement

   Copyright (C) The Internet Society (2005).

   This document is subject to the rights, licenses and restrictions
   contained in BCP 78, and except as set forth therein, the authors
   retain all their rights.

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM 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.

Intellectual Property

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at ietf-
   ipr@ietf.org.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

Freed & Klensin          Best Current Practice                 [Page 11]




Internet Engineering Task Force (IETF)                          N. Freed
Request for Comments: 6838                                        Oracle
BCP: 13                                                       J. Klensin
Obsoletes: 4288
Category: Best Current Practice                                T. Hansen
ISSN: 2070-1721                                        AT&T Laboratories
                                                            January 2013

         Media Type Specifications and Registration Procedures

Abstract

   This document defines procedures for the specification and
   registration of media types for use in HTTP, MIME, and other Internet
   protocols.

Status of This Memo

   This memo documents an Internet Best Current Practice.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   BCPs is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6838.

Copyright Notice

   Copyright (c) 2013 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.             Best Current Practice                 [Page 1]



RFC 6838                 Media Type Registration            January 2013

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1.  Historical Note  . . . . . . . . . . . . . . . . . . . . .  3
     1.2.  Conventions Used in This Document  . . . . . . . . . . . .  4
   2.  Media Type Registration Preliminaries  . . . . . . . . . . . .  4
   3.  Registration Trees and Subtype Names . . . . . . . . . . . . .  4
     3.1.  Standards Tree . . . . . . . . . . . . . . . . . . . . . .  4
     3.2.  Vendor Tree  . . . . . . . . . . . . . . . . . . . . . . .  6
     3.3.  Personal or Vanity Tree  . . . . . . . . . . . . . . . . .  6
     3.4.  Unregistered x. Tree . . . . . . . . . . . . . . . . . . .  7
     3.5.  Additional Registration Trees  . . . . . . . . . . . . . .  7
   4.  Registration Requirements  . . . . . . . . . . . . . . . . . .  7
     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 . . . . . . . . . . . . . . 12
       4.2.8.  Structured Syntax Name Suffixes  . . . . . . . . . . . 12
       4.2.9.  Deprecated Aliases . . . . . . . . . . . . . . . . . . 13
     4.3.  Parameter Requirements . . . . . . . . . . . . . . . . . . 13
     4.4.  Canonicalization and Format Requirements . . . . . . . . . 14
     4.5.  Interchange Recommendations  . . . . . . . . . . . . . . . 15
     4.6.  Security Requirements  . . . . . . . . . . . . . . . . . . 15
     4.7.  Requirements Specific to XML Media Types . . . . . . . . . 16
     4.8.  Encoding Requirements  . . . . . . . . . . . . . . . . . . 16
     4.9.  Usage and Implementation Non-Requirements  . . . . . . . . 17
     4.10. Publication Requirements . . . . . . . . . . . . . . . . . 18
     4.11. Fragment Identifier Requirements . . . . . . . . . . . . . 18
     4.12. Additional Information . . . . . . . . . . . . . . . . . . 19
   5.  Media Type Registration Procedures . . . . . . . . . . . . . . 19
     5.1.  Preliminary Community Review . . . . . . . . . . . . . . . 19
     5.2.  Submit Request to IANA . . . . . . . . . . . . . . . . . . 20
       5.2.1.  Provisional Registrations  . . . . . . . . . . . . . . 20
     5.3.  Review and Approval  . . . . . . . . . . . . . . . . . . . 21
     5.4.  Comments on Media Type Registrations . . . . . . . . . . . 21
     5.5.  Change Procedures  . . . . . . . . . . . . . . . . . . . . 21
     5.6.  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  . . . . . . . . . . . . . . . . . . . . . 26
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 27

Freed, et al.             Best Current Practice                 [Page 2]



RFC 6838                 Media Type Registration            January 2013

   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 27
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 27
     10.2. Informative References . . . . . . . . . . . . . . . . . . 28
   Appendix A.  Grandfathered Media Types . . . . . . . . . . . . . . 30
   Appendix B.  Changes since RFC 4288  . . . . . . . . . . . . . . . 30

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 HTTP [RFC2616] and MIME [RFC2045], are
   capable of carrying arbitrary labeled content.

   The mechanism used to label such content is a media type, consisting
   of a top-level type and a subtype, which is further structured into
   trees.  Optionally, media types can define companion data, known as
   parameters.

   A registration process is needed for these labels, so that the set of
   such values are defined in a reasonably orderly, well-specified, and
   public manner.

   This document specifies the criteria for media type registrations and
   defines the procedures to be used to register media types (Section 5)
   as well as media type structured suffixes (Section 6) in the Internet
   Assigned Numbers Authority (IANA) central registry.

   The location of the media type registry managed by these procedures
   is:

     http://www.iana.org/assignments/media-types/

1.1.  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 is now a separate document, to make it
   clear that it is independent of MIME.

Freed, et al.             Best Current Practice                 [Page 3]



RFC 6838                 Media Type Registration            January 2013

   It may be desirable to restrict the use of media types to specific
   environments or to prohibit their use in other environments.  This
   specification incorporates such restrictions into media type
   registrations in a systematic way.  See Section 4.9 for additional
   discussion.

1.2.  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] when they
   appear in ALL CAPS.  They may also appear in lower or mixed case as
   plain English words, without any normative meaning.

   This specification makes use of the Augmented Backus-Naur Form (ABNF)
   [RFC5234] notation, including the core rules defined in Appendix B 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 can 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., subtype names that begin with a "tree."
   prefix.  Note that some media types defined prior 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:

Freed, et al.             Best Current Practice                 [Page 4]



RFC 6838                 Media Type Registration            January 2013

   1.  in the case of registrations associated with IETF specifications,
       approved directly by the IESG, or

   2.  registered by a recognized standards-related organization using
       the "Specification Required" IANA registration policy [RFC5226]
       (which implies Expert Review).

   The first procedure is used for 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.  The registration proposal MUST
   be published as an RFC.  When the registration RFC is in the IETF
   stream, it must have IETF Consensus, which can be attained with a
   status of Standards Track, BCP, Informational, or Experimental.
   Registrations published in non-IETF RFC streams are also allowed and
   require IESG approval.  A registration can be either in a stand-alone
   "registration only" RFC or incorporated into a more general
   specification of some sort.

   In the second case, the IESG makes a one-time decision on whether the
   registration submitter represents a recognized standards-related
   organization; after that, a Media Types Reviewer (Designated Expert
   or a group of Designated Experts) performs the Expert Review as
   specified in this document.  Subsequent submissions from the same
   source do not involve the IESG.  The format MUST be described by a
   formal standards specification produced by the submitting standards-
   related organization.

   Media types in the standards tree MUST NOT have faceted names, unless
   they are grandfathered in using the process described in Appendix A.

   The "owner" of a media type registered in the standards tree is
   assumed to be the standards-related organization itself.
   Modification or alteration of the specification uses the same level
   of processing (e.g., a registration submitted on Standards Track can
   be revised in another Standards Track RFC, but cannot be revised in
   an Informational RFC) required for the initial registration.

   Standards-tree registrations from recognized standards-related
   organizations are submitted directly to the IANA, where they will
   undergo Expert Review [RFC5226] prior to approval.  In this case, the
   Expert Reviewer(s) will, among other things, ensure that the required
   specification provides adequate documentation.

Freed, et al.             Best Current Practice                 [Page 5]



RFC 6838                 Media Type Registration            January 2013

3.2.  Vendor Tree

   The vendor tree is used for media types associated with publicly
   available products.  "Vendor" and "producer" are construed very
   broadly in this context and are considered equivalent.  Note that
   industry consortia as well as non-commercial entities that do not
   qualify as recognized standards-related organizations can quite
   appropriately register media types in the vendor tree.

   A registration may be placed in the vendor tree by anyone who needs
   to interchange files associated with some product or set of products.
   However, the registration properly belongs to the vendor or
   organization producing the software that employs the type being
   registered, and that vendor or organization can at any time elect to
   assert ownership of a registration done by a third party in order to
   correct or update it.  See Section 5.5 for additional information.

   When a third party registers a type on behalf of someone else, both
   entities SHOULD be noted in the Change Controller field in the
   registration.  One possible format for this would be "Foo, on behalf
   of Bar".

   Vendor-tree registrations 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 are not required, using the media-types@iana.org
   mailing list for review is 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.

Freed, et al.             Best Current Practice                 [Page 6]



RFC 6838                 Media Type Registration            January 2013

   While public exposure and review of media types to be registered in
   the personal tree are not required, using the media-types@iana.org
   mailing list (see Section 5.1) for review is 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.  Unregistered x. Tree

   Subtype names with "x." as the first facet may be used for types
   intended exclusively for use in private, local environments.  Types
   in this tree cannot be registered and are intended for use only with
   the active agreement of the parties exchanging them.

   However, with the simplified registration procedures described above
   for vendor and personal trees, it should rarely, if ever, be
   necessary to use unregistered types.  Therefore, use of types in the
   "x." tree is strongly discouraged.

   Note that types with names beginning with "x-" are no longer
   considered to be members of this tree (see [RFC6648]).  Also note
   that if a generally useful and widely deployed type incorrectly ends
   up with an "x-" name prefix, it MAY be registered using its current
   name in an alternative tree by following the procedure defined in
   Appendix A.

3.5.  Additional Registration Trees

   From time to time and as required by the community, new top-level
   registration trees may be created by IETF Standards Action.  It is
   explicitly assumed that these trees may be created for external
   registration and management by well-known permanent organizations;
   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 by a
   recognized standards-related organization.  When the IETF performs
   such review, it needs to consider the greater expertise of the
   requesting organization with respect to the subject media type.

4.  Registration Requirements

   Media type registrations 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.

Freed, et al.             Best Current Practice                 [Page 7]



RFC 6838                 Media Type Registration            January 2013

4.1.  Functionality Requirement

   Media types MUST function as actual media formats.  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 top-level type and
   subtype names.  The combination of these names serves to uniquely
   identify the media type, and the subtype name facet (or the absence
   of one) identifies the registration tree.  Both top-level type and
   subtype names are case-insensitive.

   Type and subtype names MUST conform to the following ABNF:

     type-name = restricted-name
     subtype-name = restricted-name

     restricted-name = restricted-name-first *126restricted-name-chars
     restricted-name-first  = ALPHA / DIGIT
     restricted-name-chars  = ALPHA / DIGIT / "!" / "#" /
                              "$" / "&" / "-" / "^" / "_"
     restricted-name-chars =/ "." ; Characters before first dot always
                                  ; specify a facet name
     restricted-name-chars =/ "+" ; Characters after last plus always
                                  ; specify a structured syntax suffix

   Note that this syntax is somewhat more restrictive than what is
   allowed by the ABNF in Section 5.1 of [RFC2045] or Section 4.2 of
   [RFC4288].  Also note that while this syntax allows names of up to
   127 characters, implementation limits may make such long names
   problematic.  For this reason, <type-name> and <subtype-name> SHOULD
   be limited to 64 characters.

   Although the name syntax treats "." as equivalent to any other
   character, characters before any initial "." always specify the
   registration facet.  Note that this means that facet-less standards-
   tree registrations cannot use periods in the subtype name.

Freed, et al.             Best Current Practice                 [Page 8]



RFC 6838                 Media Type Registration            January 2013

   Similarly, the final "+" in a subtype name introduces a structured
   syntax specifier 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 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 HTTP and 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" top-level type is intended for sending material that is
   principally textual in form.

   Many subtypes of text, notably including the subtype "text/plain",
   which is a generic subtype for plain text defined in [RFC2046],
   define a "charset" parameter.  If a "charset" parameter is defined
   for a particular subtype of text, it MUST be used to specify a
   charset name defined in accordance to the procedures laid out in
   [RFC2978].

   As specified in [RFC6657], a "charset" parameter SHOULD NOT be
   specified when charset information is transported inside the payload
   (e.g., as in "text/xml").

   If a "charset" parameter is specified, it SHOULD be a required
   parameter, eliminating the options of specifying a default value.  If
   there is a strong reason for the parameter to be optional despite
   this advice, each subtype MAY specify its own default value, or
   alternatively, it MAY specify that there is no default value.
   Finally, the "UTF-8" charset [RFC3629] SHOULD be selected as the
   default.  See [RFC6657] for additional information on the use of
   "charset" parameters in conjunction with subtypes of text.

   Regardless of what approach is chosen, all new text/* registrations
   MUST clearly specify how the charset is determined; relying on the
   US-ASCII default defined in Section 4.1.2 of [RFC2046] is no longer

Freed, et al.             Best Current Practice                 [Page 9]



RFC 6838                 Media Type Registration            January 2013

   permitted.  If explanatory text is needed, this SHOULD be placed in
   the additional information section of the registration.

   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 different 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 can be
   represented using subtypes of "text".

4.2.2.  Image Media Types

   A top-level type of "image" indicates that the content specifies one
   or more individual images.  The subtype names the specific image
   format.

4.2.3.  Audio Media Types

   A top-level type of "audio" indicates that the content contains audio
   data.  The subtype names the specific audio format.

4.2.4.  Video Media Types

   A top-level 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 the mixing of multiple kinds of media
   in a single body is discouraged [RFC2046], it is recognized that many
   video formats include a representation for synchronized audio and/or
   text, and this is explicitly permitted for subtypes of "video".

Freed, et al.             Best Current Practice                [Page 10]



RFC 6838                 Media Type Registration            January 2013

4.2.5.  Application Media Types

   The "application" top-level type is to be used for discrete data that
   do not fit under any of the other type names, 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"
   type name include but are not limited to file transfer, spreadsheets,
   presentations, scheduling data, and languages for "active"
   (computational) material.  (The last, in particular, can pose
   security problems that must be understood by implementors.  The
   "application/postscript" media type registration in [RFC2046]
   provides a good example of how to handle these issues.)

   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" top-level type.

   The subtype of "application" will often either be 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
   simply be used freely as a subtype of "application"; the subtype
   needs to be registered.

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 one a separate
   media type.

   All subtypes of multipart and message MUST conform to the syntax
   rules and other requirements specified in [RFC2046] and amended by
   Section 3.5 of [RFC6532].

Freed, et al.             Best Current Practice                [Page 11]



RFC 6838                 Media Type Registration            January 2013

4.2.7.  Additional Top-Level Types

   In some cases, a new media type may not "fit" under any currently
   defined top-level type names.  Such cases are expected to be quite
   rare.  However, if such a case does arise, a new type name can be
   defined to accommodate it.  Definition of a new top-level type name
   MUST be done via a Standards Track RFC; no other mechanism can be
   used to define additional type names.

4.2.8.  Structured Syntax Name Suffixes

   XML in MIME [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 subtype name.

   Since this was published, the de facto 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 is
   registrable is that it be described by a readily available
   description, preferably within a document published by an established
   standards-related organization, and for which there's a reference
   that can be used in a Normative 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 NOT be used, given the possibility of
   conflicts with future suffix definitions.

Freed, et al.             Best Current Practice                [Page 12]



RFC 6838                 Media Type Registration            January 2013

4.2.9.  Deprecated Aliases

   In some cases, a single media type may have been widely deployed
   prior to registration under multiple names.  In such cases, a
   preferred name MUST be chosen for the media type, and applications
   MUST use this to be compliant with the type's registration.  However,
   a list of deprecated aliases by which the type is known MAY be
   supplied as additional information in order to assist applications in
   processing the media type properly.

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 = restricted-name

   Note that this syntax is somewhat more restrictive than what is
   allowed by the ABNF in [RFC2045] and amended by [RFC2231].

   Parameter names are case-insensitive and no meaning is attached to
   the order in which they appear.  It is an error for a specific
   parameter to be specified more than once.

   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 needs be taken to limit the use of potentially problematic
   syntaxes; e.g., pure binary valued parameters, while permitted in
   some protocols, are best avoided.

   Note that a protocol can impose further restrictions on parameter
   value syntax, depending on how it chooses to represent parameters.
   Both MIME [RFC2045] [RFC2231] and HTTP [RFC2045] [RFC5987] allow
   binary parameters as well as parameter values expressed in a specific
   charset, but other protocols may be less flexible.

   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

Freed, et al.             Best Current Practice                [Page 13]



RFC 6838                 Media Type Registration            January 2013

   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.

   Changes to parameters (including the introduction of new ones) is
   managed in the same manner as other changes to the media type; see
   Section 5.5.

4.4.  Canonicalization and Format Requirements

   All registered media types MUST employ a single, canonical data
   format, regardless of registration tree.

   A permanent and readily available public specification of the format
   for the media type MUST exist for all types registered in the
   standards tree.  This specification MUST provide sufficient detail so
   that interoperability between independent implementations using the
   media type is possible.  This specification MUST at a minimum be
   referenced by, if it is not 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
   and personal trees.  Such registrations are explicitly permitted to
   limit the information in the registration to which software and
   version produce or process such media types.  As such, references to
   or inclusion of format specifications in registrations is encouraged
   but not required.  Note, however, that the public availability of a
   meaningful specification will often make the difference between
   simply having a name reserved so that there are no conflicts with
   other uses and having the potential for other implementations of the
   media type and useful interoperation with them.

   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 BCP
   79 [RFC3979] and BCP 78 [RFC5378] on the use of patented technology
   in IETF Standards Track protocols must be respected when the
   specification of a media type is part of a Standards Track protocol.
   In addition, other standards-related organizations making use of the
   standards tree may have their own rules regarding intellectual
   property that must be observed in their registrations.

   Intellectual Property Rights (IPR) disclosures for registrations in
   the vendor and personal trees are encouraged but not required.

Freed, et al.             Best Current Practice                [Page 14]



RFC 6838                 Media Type Registration            January 2013

4.5.  Interchange Recommendations

   Ideally, media types will be defined so they 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.

   The recommendations in this subsection 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, the
   security considerations MUST NOT state that there are "no security
   issues associated with this type".  Security considerations for types
   in the vendor or personal tree MAY say that "the security issues
   associated 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.4 below.

   Some of the issues that need to be examined and described in a
   security analysis of a media type are:

   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

Freed, et al.             Best Current Practice                [Page 15]



RFC 6838                 Media Type Registration            January 2013

      type in [RFC2046] for an example of such directives and how they
      can be described in a media type registration.

   o  Any security analysis MUST state whether or not they employ such
      "active content"; if they do, they MUST state what steps have been
      taken, or MUST be taken by applications of the media type, 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; 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 don't provide the necessary
      security mechanisms themselves.  For example, a media type could
      be defined for storage of sensitive medical information that in
      turn requires external confidentiality and integrity protection
      services, or which is designed for use only within a secure
      environment.  Types SHOULD always document whether or not they
      need such services in their security considerations.

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.

Freed, et al.             Best Current Practice                [Page 16]



RFC 6838                 Media Type Registration            January 2013

   It is therefore useful to note what sort of data a media type can
   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 an 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 [RFC4855].

   Additional restrictions on 7bit and 8bit text are given in Section
   4.1.1 of [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 are
   NOT a requirement for registration.  However, if a media type is

Freed, et al.             Best Current Practice                [Page 17]



RFC 6838                 Media Type Registration            January 2013

   explicitly intended for limited use, this MUST be noted in its
   registration.  The "Restrictions on Usage" field is provided for this
   purpose.

4.10.  Publication Requirements

   Media types registered in the standards tree by the IETF itself MUST
   be published as RFCs.  RFC publication of vendor and personal media
   type registrations is allowed but not required.  In all cases, the
   IANA will retain copies of all media type registrations 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-related
   organizations MUST be described by a formal standards specification
   produced by that organization.  Additionally, any 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 media type does not imply endorsement, approval, or
   recommendation by the IANA or the IETF or even certification that the
   specification is adequate.  To become an IETF standard, a protocol or
   data object must go through the IETF standards process.  While it
   provides additional assurances when it is appropriate, 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-
   related organization.  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 Action in the IETF and, hence, the publication of a RFC on
   the Standards Track.

4.11.  Fragment Identifier Requirements

   Media type registrations can specify how applications should
   interpret fragment identifiers (specified in Section 3.5 of
   [RFC3986]) associated with the media type.

Freed, et al.             Best Current Practice                [Page 18]



RFC 6838                 Media Type Registration            January 2013

   Media types are encouraged to adopt fragment identifier schemes that
   are used with semantically similar media types.  In particular, media
   types that use a named structured syntax with a registered "+suffix"
   MUST follow whatever fragment identifier rules are given in the
   structured syntax suffix registration.

4.12.  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.

   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.  Some discussion of Macintosh file type codes
      and their purpose can be found in [MacOSFileTypes].

   In the case of a registration in the standards tree, this additional
   information MAY be provided in the formal specification of the media
   type format.  It is suggested that this be done by incorporating the
   IANA media type registration form into the format 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.

   Normal IETF processes need to 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 media-types@iana.org
   list as discussed below.

5.1.  Preliminary Community Review

   Notice of a potential media type registration in the standards tree
   SHOULD be sent to the media-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; doing so is entirely OPTIONAL,
   but is strongly encouraged.

Freed, et al.             Best Current Practice                [Page 19]



RFC 6838                 Media Type Registration            January 2013

   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
   considerations.  The submitter may submit a revised registration
   proposal or abandon the registration completely and at any time.

5.2.  Submit Request to IANA

   Media types registered in the standards tree by the IETF itself MUST
   be reviewed and approved by the IESG as part of the normal standards
   process.  Standards-tree registrations by recognized standards-
   related organizations as well as registrations in the vendor and
   personal trees are submitted directly to the IANA, unless other
   arrangements were made as part of a liaison agreement.  In either
   case, posting the registration to the media-types@iana.org list for
   review prior to submission is strongly encouraged.

   Registration requests can be sent to iana@iana.org.  A web form for
   registration requests is also available:

     http://www.iana.org/form/media-types

5.2.1.  Provisional Registrations

   Standardization processes often take considerable time to complete.
   In order to facilitate prototyping and testing, it is often helpful
   to assign identifiers, including but not limited to media types,
   early in the process.  This way, identifiers used during standards
   development can remain unchanged once the process is complete, and
   implementations and documentation do not have to be updated.

   Accordingly, a provisional registration process is provided to
   support early assignment of media type names in the standards tree.
   A provisional registration MAY be submitted to IANA for standards-
   tree types.  The only required fields in such registrations are the
   media type name and contact information (including the standards-
   related organization name).

   Upon receipt of a provisional registration, IANA will check the name
   and contact information, then publish the registration in a distinct
   publicly visible provisional registration list.

   Provisional registrations MAY be updated or abandoned at any time.
   When the registration is abandoned, the media type is no longer
   registered in any sense; it can subsequently be registered just like
   any other unassigned media type name.

Freed, et al.             Best Current Practice                [Page 20]



RFC 6838                 Media Type Registration            January 2013

5.3.  Review and Approval

   With the exception of provisional standards-tree registrations,
   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 Section 6.5.4 of [RFC2026].

   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.

   In the case of standards-tree registrations from other standards-
   related organizations, IANA will also check that the submitter is in
   fact a recognized standards-related organization.  If the submitter
   is not currently recognized as such, the IESG will be asked to
   confirm their status.  Recognition from the IESG MUST be obtained
   before a standards-tree registration can proceed.

5.4.  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; if the IANA, in consultation with the media types reviewer,
   approves, the comment will be made accessible in conjunction with the
   type registration.

5.5.  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.

   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.             Best Current Practice                [Page 21]



RFC 6838                 Media Type Registration            January 2013

   Significant changes to a media type's definition 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; 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.

5.6.  Registration Template

   Type name:

   Subtype name:

   Required parameters:

   Optional parameters:

   Encoding considerations:

   Security considerations:

   Interoperability considerations:

   Published specification:

   Applications that use this media type:

   Fragment identifier considerations:

   Additional information:

     Deprecated alias names for this type:
     Magic number(s):
     File extension(s):
     Macintosh file type code(s):

   Person & email address to contact for further information:

Freed, et al.             Best Current Practice                [Page 22]



RFC 6838                 Media Type Registration            January 2013

   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:

   Provisional registration? (standards tree only):

   (Any other information that the author deems interesting may be
   added below this line.)

   "N/A", written exactly that way, can be used in any field if desired
   to emphasize the fact that it does not apply or that the question was
   not omitted by accident.  Do not use 'none' or other words that could
   be mistaken for a response.

   Limited-use media types should also note in the applications list
   whether or not that list is exhaustive.

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 BCP 78 [RFC5378].

   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 media-types@iana.org, requesting

Freed, et al.             Best Current Practice                [Page 23]



RFC 6838                 Media Type Registration            January 2013

       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 the 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 an 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.

   4.  The Designated Expert may request additional review or
       discussion, as necessary.

   5.  If Expert Review recommends registration, IANA adds the
       registration to the appropriate registry.

   The initial registry content specification [RFC6839] provides
   examples of structured syntax suffix registrations.

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 suffix registration request:

   Name
      Full name of the well-defined structured syntax.

Freed, et al.             Best Current Practice                [Page 24]



RFC 6838                 Media Type Registration            January 2013

   +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.

   Fragment identifier considerations
      Generic processing of fragment identifiers for any type employing
      this syntax should be described here.

   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 the option of not assessing the
      security considerations is not available for suffix registrations.

   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 both media type and media type suffix
   registrations are discussed in Section 4.6.

Freed, et al.             Best Current Practice                [Page 25]



RFC 6838                 Media Type Registration            January 2013

8.  IANA Considerations

   The purpose of this document is to define IANA registries for media
   types and structured syntax suffixes as well as the procedures for
   managing these registries.  Additionally, this document requires IANA
   to maintain a list of standards-related organizations for which the
   IESG has approved media type registrations in the standards tree.

   The existing media type registry has been extended to include a
   section for provisional registrations.  Only standards-tree
   registrations are allowed in the standards tree and only at the
   request of an organization on the IANA list of standards-related
   organizations.  See Section 5.2.1 for additional information on
   provisional registrations.

   IANA has also added the following note at the top of the provisional
   registry:

      This registry, unlike some other provisional IANA registries, is
      only for temporary use.  Entries in this registry are either
      finalized and moved to the main media types registry, or are
      abandoned and deleted.  Entries in this registry are suitable for
      use for development and test purposes only.

   The structured syntax name suffix registry has been created as
   follows:

   o  The name is the "Structured Syntax Suffix" registry.

   o  The registration process is specified in Section 6.

   o  The information required for a registry entry as well as the entry
      format are specified in Section 6.2.

   o  The initial content of the registry is specified in [RFC6839].

   Entries in both the media type and structured suffix registries will
   be annotated by IANA with both the original registration date as well
   as the date of the most recent update to the entry.  Registrations
   made prior to the implementation of this specification may, if
   necessary, be marked as such, rather than with a specific date.

   Since registration entries can be updated multiple times, IANA will
   also maintain the history of changes to each registration in such a
   way that the state of the registration at any given time can be
   determined.

Freed, et al.             Best Current Practice                [Page 26]



RFC 6838                 Media Type Registration            January 2013

   Finally, per this document, IANA has created a new email address,
   media-types@iana.org, for the media type review list, which replaces
   the ietf-types@iana.org address specified in RFC 4288.
   ietf-types@iana.org has been retained as an alias.

9.  Acknowledgments

   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] [RFC4288].  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.

   Randy Bush, Francis Dupont, Bjoern Hoehrmann, Barry Leiba, Murray
   Kucherawy, Alexey Melnikov, S. Moonesamy, Mark Nottingham, Tom Petch,
   Peter Saint-Andre, and Jeni Tennison 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.

   [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.

   [RFC3629]         Yergeau, F., "UTF-8, a transformation format of ISO
                     10646", STD 63, RFC 3629, November 2003.

   [RFC3979]         Bradner, S., "Intellectual Property Rights in IETF
                     Technology", BCP 79, RFC 3979, March 2005.

Freed, et al.             Best Current Practice                [Page 27]



RFC 6838                 Media Type Registration            January 2013

   [RFC3986]         Berners-Lee, T., Fielding, R., and L. Masinter,
                     "Uniform Resource Identifier (URI): Generic
                     Syntax", STD 66, RFC 3986, January 2005.

   [RFC4855]         Casner, S., "Media Type Registration of RTP Payload
                     Formats", RFC 4855, February 2007.

   [RFC5226]         Narten, T. and H. Alvestrand, "Guidelines for
                     Writing an IANA Considerations Section in RFCs",
                     BCP 26, RFC 5226, May 2008.

   [RFC5234]         Crocker, D. and P. Overell, "Augmented BNF for
                     Syntax Specifications: ABNF", STD 68, RFC 5234,
                     January 2008.

   [RFC5378]         Bradner, S. and J. Contreras, "Rights Contributors
                     Provide to the IETF Trust", BCP 78, RFC 5378,
                     November 2008.

   [RFC6532]         Yang, A., Steele, S., and N. Freed,
                     "Internationalized Email Headers", RFC 6532,
                     February 2012.

   [RFC6657]         Melnikov, A. and J. Reschke, "Update to MIME
                     regarding "charset" Parameter Handling in Textual
                     Media Types", RFC 6657, July 2012.

   [RFC6839]         Hansen, T. and A. Melnikov, "Additional Media Type
                     Structured Syntax Suffixes", RFC 6839,
                     January 2013.

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,
                     <http://www.info.apple.com/kbnum/n55381>.

   [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.

Freed, et al.             Best Current Practice                [Page 28]



RFC 6838                 Media Type Registration            January 2013

   [RFC2231]         Freed, N. and K. Moore, "MIME Parameter Value and
                     Encoded Word Extensions:
                     Character Sets, Languages, and Continuations",
                     RFC 2231, November 1997.

   [RFC2616]         Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
                     Masinter, L., Leach, P., and T. Berners-Lee,
                     "Hypertext Transfer Protocol -- HTTP/1.1",
                     RFC 2616, June 1999.

   [RFC4288]         Freed, N. and J. Klensin, "Media Type
                     Specifications and Registration Procedures",
                     BCP 13, RFC 4288, December 2005.

   [RFC5987]         Reschke, J., "Character Set and Language Encoding
                     for Hypertext Transfer Protocol (HTTP) Header Field
                     Parameters", RFC 5987, August 2010.

   [RFC6648]         Saint-Andre, P., Crocker, D., and M. Nottingham,
                     "Deprecating the "X-" Prefix and Similar Constructs
                     in Application Protocols", BCP 178, RFC 6648,
                     June 2012.

Freed, et al.             Best Current Practice                [Page 29]



RFC 6838                 Media Type Registration            January 2013

Appendix A.  Grandfathered Media Types

   A number of media types with unfaceted subtype names, registered
   prior to 1996, would, if registered under the guidelines in this
   document, be 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 subtype name has been widely deployed without being
   registered.  (Note that this includes subtype names beginning with
   the "x-" prefix.)  If possible, such a media type SHOULD be
   reregistered with a proper faceted subtype name, possibly using a
   deprecated alias to identify the original name (see Section 4.2.9).
   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 identifiers has been added to the
      registration template and brief directions for specifying fragment
      identifiers have been added.

   o  The specification requirements for personal-tree registrations
      have been changed to be the same as those for the vendor tree.
      The text has been changed to encourage (but not require)
      specification availability.

   o  The process for defining additional trees has been clarified to
      state that an IETF Standards Action is required.

   o  Widely deployed types with "x-" names can now be registered as an
      exception in the vendor tree.

Freed, et al.             Best Current Practice                [Page 30]



RFC 6838                 Media Type Registration            January 2013

   o  The requirements on changes to registrations have been loosened so
      minor changes are easier to make.

   o  The registration process has been completely restructured so that
      with the exception of IETF-generated types in the standards tree,
      all requests are processed by IANA and not the IESG.

   o  A provisional registration process has been added for early
      assignment of types in the standards tree.

   o  Many editorial changes have been made throughout the document to
      make the requirements and processes it describes clearer and
      easier to follow.

   o  The ability to specify a list of deprecated aliases for a media
      type has been added.

   o  Types with names beginning with "x-" are no longer considered to
      be members of the unregistered "x." tree.  As with any unfaceted
      type, special procedures have been added to allow registration of
      such types in an appropriate tree.

   o  Changes to a type registered by a third party may now be made by
      the designated change controller even if that isn't the vendor or
      organization that created the type.  However, the vendor or
      organization may elect to assert ownership and change controller
      over the type at any time.

   o  Limited-use media types are now asked to note whether or not the
      supplied list of applications employing the media type is
      exhaustive.

   o  The ABNF for media type names has been further restricted to
      require that names begin with an alphanumeric character.

   o  Mailing list review is no longer required prior to registration of
      media types.  Additionally, the address associated with the media
      type review mailing list has been changed to media-types@iana.org.

   o  The rules for text/* media types have been updated to reflect the
      changes specified in [RFC6657].

Freed, et al.             Best Current Practice                [Page 31]



RFC 6838                 Media Type Registration            January 2013

Authors' Addresses

   Ned Freed
   Oracle
   800 Royal Oaks
   Monrovia, CA  91016-6347
   USA

   EMail: ned+ietf@mrochek.com

   John C. Klensin
   1770 Massachusetts Ave, #322
   Cambridge, MA  02140
   USA

   EMail: john+ietf@jck.com

   Tony Hansen
   AT&T Laboratories
   200 Laurel Ave.
   Middletown, NJ  07748
   USA

   EMail: tony+mtsuffix@maillennium.att.com

Freed, et al.             Best Current Practice                [Page 32]