RFC 4288 - Media Type Specifications and Registration Proced

时间:2006-11-01 来源: 作者: 点击:
NetworkWorkingGroup N.Freed RequestforComments:4288SunMicrosystems BCP:13 J.Klensin Obsoletes:2048 December2005 Category:BestCurrentPractice MediaTypeSpecificationsandRegistrationProcedures StatusofThisMemo ThisdocumentspecifiesanInternetBestCurrentP
  Network Working Group                                                N. Freed
Request for Comments: 4288                              Sun Microsystems
BCP: 13                                                                          J. Klensin
Obsoletes: 2048                                                      December 2005
Category: Best Current Practice

         Media Type Specifications and 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 defines procedures for the specification and
   registration of media types for use in MIME and other Internet
   protocols.

Table of Contents

   1. Introduction ....................................................3
   2. Media Type Registration Preliminaries ...........................4
   3. Registration Trees and Subtype Names ............................4
      3.1. Standards Tree .............................................4
      3.2. Vendor Tree ................................................5
      3.3. Personal or Vanity Tree ....................................5
      3.4. Special x. Tree ............................................5
      3.5. Additional Registration Trees ..............................6
   4. Registration Requirements .......................................6
      4.1. Functionality Requirement ..................................6
      4.2. Naming Requirements ........................................6
         4.2.1. Text Media Types ......................................7
         4.2.2. Image Media Types .....................................8
         4.2.3. Audio Media Types .....................................8
         4.2.4. Video Media Types .....................................8
         4.2.5. Application Media Types ...............................9
         4.2.6. Multipart and Message Media Types .....................9
         4.2.7. Additional Top-level Types ............................9
      4.3. Parameter Requirements ....................................10
      4.4. Canonicalization and Format Requirements ..................10
      4.5. Interchange Recommendations ...............................11
      4.6. Security Requirements .....................................11
      4.7. Requirements specific to XML media types ..................13
      4.8. Encoding Requirements .....................................13
      4.9. Usage and Implementation Non-requirements .................13
      4.10. Publication Requirements .................................14
      4.11. Additional Information ...................................15
   5. Registration Procedure .........................................15
      5.1. Preliminary Community Review ..............................16
      5.2. IESG Approval .............................................16
      5.3. IANA Registration .........................................16
      5.4. Media Types Reviewer ......................................16
   6. Comments on Media Type Registrations ...........................17
   7. Location of Registered Media Type List .........................17
   8. IANA Procedures for Registering Media Types ....................17
   9. Change Procedures ..............................................18
   10. Registration Template .........................................19
   11. Security Considerations .......................................20
   12. IANA Considerations ...........................................20
   13. Acknowledgements ..............................................20
   14. References ....................................................20
   Appendix A.  Grandfathered Media Types ............................22
   Appendix B.  Changes Since RFC 2048 ...............................22

1.  Introduction

   Recent Internet protocols have been carefully designed to be easily
   extensible in certain areas.  In particular, many protocols,
   including but not limited to MIME [RFC2045], are capable of carrying
   arbitrary labeled content.  A mechanism is needed to label such
   content and a registration process is needed for these labels, to
   ensure that the set of such values is developed in an orderly, well-
   specified, and public manner.

   This document defines media type specification and registration
   procedures that use the Internet Assigned Numbers Authority (IANA) as
   a central registry.

   Historical Note

      The media type registration process was initially defined for
      registering media types for use in the context of the asynchronous
      Internet mail environment.  In this mail environment there is a
      need to limit the number of possible media types, to increase the
      likelihood of interoperability when the capabilities of the remote
      mail system are not known.  As media types are used in new
      environments in which the proliferation of media types is not a
      hindrance to interoperability, the original procedure proved
      excessively restrictive and had to be generalized.  This was
      initially done in [RFC2048], but the procedure defined there was
      still part of the MIME document set.  The media type specification
      and registration procedure has now been moved to this separate
      document, to make it clear that it is independent of MIME.

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

1.1.  Conventions Used in This Document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

   This specification makes use of the Augmented Backus-Naur Form (ABNF)
   [RFC4234] notation, including the core rules defined in Appendix A of
   that document.

2.  Media Type Registration Preliminaries

   Registration of a new media type or types starts with the
   construction of a registration proposal.  Registration may occur
   within several different registration trees that have different
   requirements, as discussed below.  In general, a new registration
   proposal is circulated and reviewed in a fashion appropriate to the
   tree involved.  The media type is then registered if the proposal is
   acceptable.  The following sections describe the requirements and
   procedures used for each of the different registration trees.

3.  Registration Trees and Subtype Names

   In order to increase the efficiency and flexibility of the
   registration process, different structures of subtype names may be
   registered to accommodate the different natural requirements for,
   e.g., a subtype that will be recommended for wide support and
   implementation by the Internet community, or a subtype that is used
   to move files associated with proprietary software.  The following
   subsections define registration "trees" that are distinguished by the
   use of faceted names, e.g., names of the form
   "tree.subtree...subtype".  Note that some media types defined prior
   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
   approved by the IESG and MUST correspond to a formal publication by a
   recognized standards body.  In the case of registration for the IETF
   itself, the registration proposal MUST be published as an RFC.
   Standards-tree registration RFCs can either be standalone
   "registration only" RFCs, or they can be incorporated into a more
   general specification of some sort.

   Media types in the standards tree are normally denoted by names that
   are not explicitly faceted, i.e., do not contain period (".", full
   stop) characters.

   The "owner" of a media type registration in the standards tree is
   assumed to be the standards body itself.  Modification or alteration
   of the specification requires the same level of processing (e.g.,
   standards track) required for the initial registration.

3.2.  Vendor Tree

   The vendor tree is used for media types associated with commercially
   available products.  "Vendor" or "producer" are construed as
   equivalent and very broadly in this context.

   A registration may be placed in the vendor tree by anyone who needs
   to interchange files associated with the particular product.
   However, the registration formally belongs to the vendor or
   organization producing the software or file format being registered.
   Changes to the specification will be made at their request, as
   discussed in subsequent sections.

   Registrations in the vendor tree will be distinguished by the leading
   facet "vnd.".  That may be followed, at the discretion of the
   registrant, by either a media subtype name from a well-known producer
   (e.g., "vnd.mudpie") or by an IANA-approved designation of the
   producer’s name that is followed by a media type or product
   designation (e.g., vnd.bigcompany.funnypictures).

   While public exposure and review of media types to be registered in
   the vendor tree is not required, using the ietf-types@iana.org
   mailing list for review is strongly encouraged to improve the quality
   of those specifications.  Registrations in the vendor tree may be
   submitted directly to the IANA.

3.3.  Personal or Vanity Tree

   Registrations for media types created experimentally or as part of
   products that are not distributed commercially may be registered in
   the personal or vanity tree.  The registrations are distinguished by
   the leading facet "prs.".

   The owner of "personal" registrations and associated specifications
   is the person or entity making the registration, or one to whom
   responsibility has been transferred as described below.

   While public exposure and review of media types to be registered in
   the personal tree is not required, using the ietf-types list for
   review is strongly encouraged to improve the quality of those
   specifications.  Registrations in the personal tree may be submitted
   directly to the IANA.

3.4.  Special x. Tree

   For convenience and symmetry with this registration scheme, subtype
   names with "x." as the first facet may be used for the same purposes
   for which names starting in "x-" are used.  These types are

   unregistered, experimental, and for use only with the active
   agreement of the parties exchanging them.

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

   Types in this tree MUST NOT be registered.

3.5.  Additional Registration Trees

   From time to time and as required by the community, the IANA may, by
   and with the advice and consent of the IESG, create new top-level
   registration trees.  It is explicitly assumed that these trees may be
   created for external registration and management by well-known
   permanent bodies; for example, scientific societies may register
   media types specific to the sciences they cover.  In general, the
   quality of review of specifications for one of these additional
   registration trees is expected to be equivalent to registrations in
   the standards tree.  Establishment of these new trees will be
   announced through RFC publication approved by the IESG.

4.  Registration Requirements

   Media type registration proposals are all expected to conform to
   various requirements laid out in the following sections.  Note that
   requirement specifics sometimes vary depending on the registration
   tree, again as detailed in the following sections.

4.1.  Functionality Requirement

   Media types MUST function as an actual media format.  Registration of
   things that are better thought of as a transfer encoding, as a
   charset, or as a collection of separate entities of another type, is
   not allowed.  For example, although applications exist to decode the
   base64 transfer encoding [RFC2045], base64 cannot be registered as a
   media type.

   This requirement applies regardless of the registration tree
   involved.

4.2.  Naming Requirements

   All registered media types MUST be assigned type and subtype names.
   The combination of these names serves to uniquely identify the media
   type, and the format of the subtype name identifies the registration
   tree.  Both type and subtype names are case-insensitive.

   Type and subtype names beginning with "X-" are reserved for
   experimental use and MUST NOT be registered.  This parallels the
   restriction on the x. tree, as discussed in Section 3.4.

   Type and subtype names MUST conform to the following ABNF:

       type-name = reg-name
       subtype-name = reg-name

       reg-name = 1*127reg-name-chars
       reg-name-chars = ALPHA / DIGIT / "!" /
                       "#" / "$" / "&" / "." /
                       "+" / "-" / "^" / "_"

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

   In accordance with the rules specified in [RFC3023], media subtypes
   that do not represent XML entities MUST NOT be given a name that ends
   with the "+xml" suffix.  More generally, "+suffix" constructs should
   be used with care, given the possibility of conflicts with future
   suffix definitions.

   While it is possible for a given media type to be assigned additional
   names, the use of different names to identify the same media type is
   discouraged.

   These requirements apply regardless of the registration tree
   involved.

   The choice of top-level type name MUST take into account the nature
   of media type involved.  New subtypes of top-level types MUST conform
   to the restrictions of the top-level type, if any.  The following
   sections describe each of the initial set of top-level types and
   their associated restrictions.  Additionally, various protocols,
   including but not limited to MIME, MAY impose additional restrictions
   on the media types they can transport.  (See [RFC2046] for additional
   information on the restrictions MIME imposes.)

4.2.1.  Text Media Types

   The "text" media type is intended for sending material that is
   principally textual in form.  A "charset" parameter MAY be used to
   indicate the charset of the body text for "text" subtypes, notably
   including the subtype "text/plain", which is a generic subtype for
   plain text defined in [RFC2046].  If defined, a text "charset"

   parameter MUST be used to specify a charset name defined in
   accordance to the procedures laid out in [RFC2978].

   Plain text does not provide for or allow formatting commands, font
   attribute specifications, processing instructions, interpretation
   directives, or content markup.  Plain text is seen simply as a linear

   sequence of characters, possibly interrupted by line breaks or page
   breaks.  Plain text MAY allow the stacking of several characters in
   the same position in the text.  Plain text in scripts like Arabic and
   Hebrew may also include facilities that allow the arbitrary mixing of
   text segments with opposite writing directions.

   Beyond plain text, there are many formats for representing what might
   be known as "rich text".  An interesting characteristic of many such
   representations is that they are to some extent readable even without
   the software that interprets them.  It is useful to distinguish them,
   at the highest level, from such unreadable data as images, audio, or
   text represented in an unreadable form.  In the absence of
   appropriate interpretation software, it is reasonable to present
   subtypes of "text" to the user, while it is not reasonable to do so
   with most non-textual data.  Such formatted textual data should be
   represented using subtypes of "text".

4.2.2.  Image Media Types

   A media type of "image" indicates that the content specifies or more
   separate images that require appropriate hardware to display.  The
   subtype names the specific image format.

4.2.3.  Audio Media Types

   A media type of "audio" indicates that the content contains audio
   data.

4.2.4.  Video Media Types

   A media type of "video" indicates that the content specifies a time-
   varying-picture image, possibly with color and coordinated sound.
   The term ’video’ is used in its most generic sense, rather than with
   reference to any particular technology or format, and is not meant to
   preclude subtypes such as animated drawings encoded compactly.

   Note that although in general this document strongly discourages the
   mixing of multiple media in a single body, it is recognized that many
   so-called video formats include a representation for synchronized
   audio and/or text, and this is explicitly permitted for subtypes of
   "video".

4.2.5.  Application Media Types

   The "application" media type is to be used for discrete data that do
   not fit in any of the media types, and particularly for data to be
   processed by some type of application program.  This is information
   that must be processed by an application before it is viewable or
   usable by a user.  Expected uses for the "application" media type
   include but are not limited to file transfer, spreadsheets,
   presentations, scheduling data, and languages for "active"
   (computational) material.  (The latter, in particular, can pose
   security problems that must be understood by implementors, and are
   considered in detail in the discussion of the "application/
   PostScript" media type in [RFC2046].)

   For example, a meeting scheduler might define a standard
   representation for information about proposed meeting dates.  An
   intelligent user agent would use this information to conduct a dialog
   with the user, and might then send additional material based on that
   dialog.  More generally, there have been several "active" languages
   developed in which programs in a suitably specialized language are
   transported to a remote location and automatically run in the
   recipient’s environment.  Such applications may be defined as
   subtypes of the "application" media type.

   The subtype of "application" will often be either the name or include
   part of the name of the application for which the data are intended.
   This does not mean, however, that any application program name may be
   used freely as a subtype of "application".

4.2.6.  Multipart and Message Media Types

   Multipart and message are composite types, that is, they provide a
   means of encapsulating zero or more objects, each labeled with its
   own media type.

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

4.2.7.  Additional Top-level Types

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

4.3.  Parameter Requirements

   Media types MAY elect to use one or more media type parameters, or
   some parameters may be automatically made available to the media type
   by virtue of being a subtype of a content type that defines a set of
   parameters applicable to any of its subtypes.  In either case, the
   names, values, and meanings of any parameters MUST be fully specified

   when a media type is registered in the standards tree, and SHOULD be
   specified as completely as possible when media types are registered
   in the vendor or personal trees.

   Parameter names have the syntax as media type names and values:

       parameter-name = reg-name

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

   There is no defined syntax for parameter values.  Therefore
   registrations MUST specify parameter value syntax.  Additionally,
   some transports impose restrictions on parameter value syntax, so
   care should be taken to limit the use of potentially problematic
   syntaxes; e.g., pure binary valued parameters, while permitted in
   some protocols, probably should be avoided.

   New parameters SHOULD NOT be defined as a way to introduce new
   functionality in types registered in the standards tree, although new
   parameters MAY be added to convey additional information that does
   not otherwise change existing functionality.  An example of this
   would be a "revision" parameter to indicate a revision level of an
   external specification such as JPEG.  Similar behavior is encouraged
   for media types registered in the vendor or personal trees but is not
   required.

4.4.  Canonicalization and Format Requirements

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

   A precise and openly available specification of the format of each
   media type MUST exist for all types registered in the standards tree
   and MUST at a minimum be referenced by, if it isn’t actually included
   in, the media type registration proposal itself.

   The specifications of format and processing particulars may or may
   not be publicly available for media types registered in the vendor
   tree, and such registration proposals are explicitly permitted to

   limit specification to which software and version produce or process
   such media types.  References to or inclusion of format
   specifications in registration proposals is encouraged but not
   required.

   Format specifications are still required for registration in the
   personal tree, but may be either published as RFCs or otherwise
   deposited with the IANA.  The deposited specifications will meet the
   same criteria as those required to register a well-known TCP port
   and, in particular, need not be made public.

   Some media types involve the use of patented technology.  The
   registration of media types involving patented technology is
   specifically permitted.  However, the restrictions set forth in
   [RFC2026] on the use of patented technology in IETF standards-track
   protocols must be respected when the specification of a media type is
   part of a standards-track protocol.  In addition, other standards
   bodies making use of the standards tree may have their own rules
   regarding intellectual property that must be observed in their
   registrations.

4.5.  Interchange Recommendations

   Media types SHOULD interoperate across as many systems and
   applications as possible.  However, some media types will inevitably
   have problems interoperating across different platforms.  Problems
   with different versions, byte ordering, and specifics of gateway
   handling can and will arise.

   Universal interoperability of media types is not required, but known
   interoperability issues SHOULD be identified whenever possible.
   Publication of a media type does not require an exhaustive review of
   interoperability, and the interoperability considerations section is
   subject to continuing evaluation.

   These recommendations apply regardless of the registration tree
   involved.

4.6.  Security Requirements

   An analysis of security issues MUST be done for all types registered
   in the standards Tree.  A similar analysis for media types registered
   in the vendor or personal trees is encouraged but not required.
   However, regardless of what security analysis has or has not been
   done, all descriptions of security issues MUST be as accurate as
   possible regardless of registration tree.  In particular, a statement
   that there are "no security issues associated with this type" MUST

   NOT be confused with "the security issues associates with this type
   have not been assessed".

   There is absolutely no requirement that media types registered in any
   tree be secure or completely free from risks.  Nevertheless, all
   known security risks MUST be identified in the registration of a
   media type, again regardless of registration tree.

   The security considerations section of all registrations is subject
   to continuing evaluation and modification, and in particular MAY be
   extended by use of the "comments on media types" mechanism described
   in Section 6 below.

   Some of the issues that should be looked at 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
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(1)
100%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容