RFC 4288:Media Type Specifications and Registratio...
RFC-Ref

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
      type in [RFC2046] for an example of such directives and how they
      should be described in a media type registration.

   o  All registrations MUST state whether or not they employ such
      "active content", and if they do, they MUST state what steps have
      been taken to protect users of the media type from harm.

   o  Complex media types may include provisions for directives that
      institute actions that, while not directly harmful to the
      recipient, may result in disclosure of information that either
      facilitates a subsequent attack or else violates a recipient's
      privacy in some way.  Again, the registration of the
      application/postscript media type illustrates how such directives
      can be handled.

   o  A media type that employs compression may provide an opportunity
      for sending a small amount of data that, when received and
      evaluated, expands enormously to consume all of the recipient's
      resources.  All media types SHOULD state whether or not they
      employ compression, and if they do they should discuss what steps
      need to be taken to avoid such attacks.

   o  A media type might be targeted for applications that require some
      sort of security assurance but not provide the necessary security
      mechanisms themselves.  For example, a media type could be defined
      for storage of confidential medical information that in turn

      requires an external confidentiality service, or which is designed
      for use only within a secure environment.


4.7. Requirements specific to XML media types


   There are a number of additional requirements specific to the
   registration of XML media types.  These requirements are specified in
   [RFC3023].


4.8. Encoding Requirements


   Some transports impose restrictions on the type of data they can
   carry.  For example, Internet mail traditionally was limited to 7bit
   US-ASCII text.  Encoding schemes are often used to work around such
   transport limitations.

   It is therefore useful to note what sort of data a media type can
   consist of as part of its registration.  An "encoding considerations"
   field is provided for this purpose.  Possible values of this field
   are:

   7bit: The content of the media type consists solely of CRLF-delimited
      7bit US-ASCII text.

   8bit: The content of the media type consists solely of CRLF-delimited
      8bit text.

   binary: The content consists of unrestricted sequence of octets.

   framed: The content consists of a series of frames or packets without
      internal framing or alignment indicators.  Additional out-of-band
      information is needed to interpret the data properly, including
      but not necessarily limited to, knowledge of the boundaries
      between successive frames and knowledge of the transport
      mechanism.  Note that media types of this sort cannot simply be
      stored in a file or transported as a simple stream of octets;
      therefore, such media types are unsuitable for use in many
      traditional protocols.  A commonly used transport with framed
      encoding is the Real-time Transport Protocol, RTP.  Additional
      rules for framed encodings defined for transport using RTP are
      given in [RFC3555].

   Additional restrictions on 7bit and 8bit text are given in [RFC2046].


4.9. Usage and Implementation Non-requirements


   In the asynchronous mail environment, where information on the
   capabilities of the remote mail agent is frequently not available to

   the sender, maximum interoperability is attained by restricting the
   media types used to those "common" formats expected to be widely
   implemented.  This was asserted in the past as a reason to limit the
   number of possible media types, and it resulted in a registration
   process with a significant hurdle and delay for those registering
   media types.

   However, the need for "common" media types does not require limiting
   the registration of new media types.  If a limited set of media types
   is recommended for a particular application, that should be asserted
   by a separate applicability statement specific for the application
   and/or environment.

   Therefore, universal support and implementation of a media type is
   NOT a requirement for registration.  However, if a media type is
   explicitly intended for limited use, this MUST be noted in its
   registration.  The "Restrictions on Usage" field is provided for this
   purpose.


4.10. Publication Requirements


   Proposals for media types registered in the standards tree by the
   IETF itself MUST be published as RFCs.  RFC publication of vendor and
   personal media type proposals is encouraged but not required.  In all
   cases the IANA will retain copies of all media type proposals and
   "publish" them as part of the media types registration tree itself.

   As stated previously, standards tree registrations for media types
   defined in documents produced by other standards bodies MUST be
   described by a formal standards specification produced by that body.
   Such specifications MUST contain an appropriate media type
   registration template taken from Section 10.  Additionally, the
   copyright on the registration template MUST allow the IANA to copy it
   into the IANA registry.

   Other than IETF registrations in the standards tree, the registration
   of a data type does not imply endorsement, approval, or
   recommendation by the IANA or the IETF or even certification that the
   specification is adequate.  To become Internet Standards, a protocol
   or data object must go through the IETF standards process.  This is
   too difficult and too lengthy a process for the convenient
   registration of media types.

   The standards tree exists for media types that do require a
   substantive review and approval process in a recognized standards
   body.  The vendor and personal trees exist for those media types that
   do not require such a process.  It is expected that applicability
   statements for particular applications will be published from time to

   time in the IETF, recommending implementation of, and support for,
   media types that have proven particularly useful in those contexts.

   As discussed above, registration of a top-level type requires
   standards-track processing in the IETF and, hence, RFC publication.


4.11. Additional Information


   Various sorts of optional information SHOULD be included in the
   specification of a media type if it is available:

   o  Magic number(s) (length, octet values).  Magic numbers are byte
      sequences that are always present at a given place in the file and
      thus can be used to identify entities as being of a given media
      type.

   o  File name extension(s) commonly used on one or more platforms to
      indicate that some file contains a given media type.

   o  Mac OS File Type code(s) (4 octets) used to label files containing
      a given media type.

   o  Information about how fragment/anchor identifiers [RFC3986] are
      constructed for use in conjunction with this media type.

   In the case of a registration in the standards tree, this additional
   information MAY be provided in the formal specification of the media
   type.  It is suggested that this be done by incorporating the IANA
   media type registration form into the specification itself.



Google
Web
RFC-Ref