rfc9694.original   rfc9694.txt 
MEDIAMAN M.J. Dürst Internet Engineering Task Force (IETF) M. Dürst
Internet-Draft Aoyama Gakuin University Request for Comments: 9694 Aoyama Gakuin University
Updates: 6838 (if approved) 5 July 2024 BCP: 13 December 2024
Intended status: Best Current Practice Updates: 6838
Expires: 6 January 2025 Category: Best Current Practice
ISSN: 2070-1721
Guidelines for the Definition of New Top-Level Media Types Guidelines for the Definition of New Top-Level Media Types
draft-ietf-mediaman-toplevel-06
Abstract Abstract
This document defines best practices for defining new top-level media This document defines best practices for defining new top-level media
types. It also introduces a registry for top-level media types, and types. It also introduces a registry for top-level media types, and
contains a short history of top-level media types. It updates RFC contains a short history of top-level media types. It updates RFC
6838. 6838.
[RFC Editor, please remove this paragraph.] Comments and discussion
about this document should be directed to media-types@ietf.org, the
mailing list of the Media Type Maintenance (mediaman) WG.
Alternatively, issues can be raised on GitHub at https://github.com/
ietf-wg-mediaman/toplevel.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This memo documents an Internet Best Current Practice.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
BCPs is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 6 January 2025. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9694.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
Please review these documents carefully, as they describe your rights carefully, as they describe your rights and restrictions with respect
and restrictions with respect to this document. Code Components to this document. Code Components extracted from this document must
extracted from this document must include Revised BSD License text as include Revised BSD License text as described in Section 4.e of the
described in Section 4.e of the Trust Legal Provisions and are Trust Legal Provisions and are provided without warranty as described
provided without warranty as described in the Revised BSD License. in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
1.1. Background . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Background
1.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.2. Requirements Language
2. Rules and Criteria for the Registration of New Top-Level Media 2. Rules and Criteria for the Registration of New Top-Level Media
Types . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Types
2.1. Required Criteria . . . . . . . . . . . . . . . . . . . . 3 2.1. Required Criteria
2.2. Additional Considerations . . . . . . . . . . . . . . . . 4 2.2. Additional Considerations
2.3. Negative Criteria . . . . . . . . . . . . . . . . . . . . 6 2.3. Negative Criteria
3. Top-Level Media Type History . . . . . . . . . . . . . . . . 6 3. Top-Level Media Type History
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 4. IANA Considerations
4.1. Registration of Top-level Media Types . . . . . . . . . . 8 4.1. Registration of Top-level Media Types
4.2. Initialization of the Registry of Top-level Media 4.2. Initialization of the Registry of Top-Level Media Types
Types . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5. Security Considerations
5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 Acknowledgements
Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 References
Changes from draft-ietf-mediaman-toplevel-01 Onwards . . . . . 11 Normative References
Changes from draft-ietf-mediaman-toplevel-00 to Informative References
draft-ietf-mediaman-toplevel-00 . . . . . . . . . . . . 11 Author's Address
Changes from draft-duerst-mediaman-toplevel-00 to
draft-ietf-mediaman-toplevel-01 . . . . . . . . . . . . 11
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 12
References . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Normative References . . . . . . . . . . . . . . . . . . . . . 12
Informative References . . . . . . . . . . . . . . . . . . . . 12
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. Introduction
This document defines best practices for defining new top-level media This document defines best practices for defining new top-level media
types. Top-level media types ('top-level types' for short) appear to types. Top-level media types ('top-level types' for short) appear to
the left of the slash in a media type, examples being 'text/...', the left of the slash in a media type, examples being 'text/...',
'application/...', 'image/...', and so on. Please note that top- 'application/...', 'image/...', and so on. Please note that top-
level types are different from trees (standards tree, vendor tree, level types are different from trees (standards tree, vendor tree,
personal tree), which (except for the standards tree) are indicated personal tree), which (except for the standards tree) are indicated
immediately to the right of the slash with a prefix of '.../vnd.' or immediately to the right of the slash with a prefix of '.../vnd.' or
'.../prs.'. RFC 6838 [RFC6838], Section 4.2.7 only summarily gave '.../prs.'. Section 4.2.7 of RFC 6838 [RFC6838] only summarily gives
criteria for defining additional top-level types. This document criteria for defining additional top-level media types. This
provides more detailed criteria for defining additional top-level document provides more detailed criteria for defining additional top-
types. It therefore updates RFC 6838 [RFC6838]. level media types. It therefore updates RFC 6838 [RFC6838].
1.1. Background 1.1. Background
New top-level types are rare enough and different enough from each New top-level types are rare enough and different enough from each
other that each application needs to be evaluated separately. The other that each application needs to be evaluated separately. The
main protocol extension point for media types are subtypes below each main protocol extension point for media types are subtypes below each
of the main types. For formats that do not fit below any other top- of the main types. For formats that do not fit below any other top-
level type, the 'application' top-level type can always be used. level type, the 'application' top-level type can always be used.
The main function of media types and subtypes is the dispatch of data The main function of media types and subtypes is the dispatch of data
formats to application code. In most cases, this requires and is formats to application code. In most cases, this requires and is
done using the full type (i.e. including the subtype, and often some done using the full type (i.e., including the subtype, and often some
parameters). The top-level type can occasionally serve as a fallback parameters). The top-level type can occasionally serve as a fallback
for the tentative dispatch to applications handling a very wide range for the tentative dispatch to applications handling a very wide range
of related formats. Please note that assumptions about the of related formats. Please note that assumptions about the
correctness of a media type must be made carefully, as it could be correctness of a media type must be made carefully, as it could be
under the control of an attacker. under the control of an attacker.
In some older scenarios, it may also have been possible to identify a In some older scenarios, it may also have been possible to identify a
device (e.g. a phone for audio messages, a printer or fax device for device (e.g., a phone for audio messages, a printer or fax device for
images, a video recorder for videos, a computer for 'application' images, a video recorder for videos, a computer for 'application'
subtypes). However, the current hardware landscape, where computers subtypes). However, the current hardware landscape, where computers
and smartphones can handle a very wide variety of media, makes such a and smartphones can handle a very wide variety of media, makes such a
scenario look somewhat far-fetched. scenario look somewhat far-fetched.
The top-level type can be used for user-directed information. The top-level type can be used for user-directed information.
Besides direct inspection of the type string by the user, this Besides direct inspection of the type string by the user, this
includes using different types of default icons for different top- includes using different types of default icons for different top-
level types. level types.
1.2. Requirements Language 1.2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Rules and Criteria for the Registration of New Top-Level Media Types 2. Rules and Criteria for the Registration of New Top-Level Media Types
This section describes the rules and criteria for new top-level This section describes the rules and criteria for new top-level media
types, including criteria already defined in RFC 6838 [RFC6838]. types, including criteria already defined in RFC 6838 [RFC6838].
2.1. Required Criteria 2.1. Required Criteria
The following is the list of required criteria for the definition of The following is the list of required criteria for the definition of
a new top-level type. Motivations for the requirements are also a new top-level type. Motivations for the requirements are also
included. included.
* Every new top-level type MUST be defined in a Standards Track RFC * Every new top-level type MUST be defined in a Standards Track RFC
(see RFC 8126, Section 4.9 [RFC8126]). This will make sure there (see Section 4.9 of RFC 8126 [RFC8126]). This will ensure there
is sufficient community interest, review, and consensus is sufficient community interest, review, and consensus
appropriate for a new top-level type. appropriate for a new top-level type.
* The IANA Considerations section of an RFC defining a new top-level * The IANA Considerations section of an RFC defining a new top-level
type MUST request that IANA add this new top-level type to the type MUST request that IANA add this new top-level type to the
registry of top-level types. registry of top-level types.
* The criteria for what types do and do not fall under the new top- * The criteria for what types do and do not fall under the new top-
level type MUST be defined clearly. Clear criteria are expected level type MUST be defined clearly. Clear criteria are expected
to help expert reviewers to evaluate whether a subtype belongs to help expert reviewers evaluate whether or not a subtype belongs
below the new type or not, and whether the registration template below the new type, and whether the registration template for a
for a subtype contains the appropriate information. If the subtype contains the appropriate information. Criteria that
criteria cannot be defined clearly, this is a strong indication cannot be defined clearly is a strong indication that whatever is
that whatever is being talked about is not suitable as a top-level being talked about is not suitable as a top-level type.
type.
* Any RFC defining a new top-level type MUST clearly document the * Any RFC defining a new top-level type MUST clearly document the
security considerations applying to all or a significant subset of security considerations applying to all or a significant subset of
subtypes. subtypes.
* At the minimum, one subtype MUST be described. A top-level type * At a minimum, one subtype MUST be described. A top-level type
without any subtype serves no purpose. Please note that the without any subtypes serves no purpose. Please note that the
'example' top-level describes a subtype 'example'. 'example' top-level describes the subtype 'example'.
2.2. Additional Considerations 2.2. Additional Considerations
* Existing wide use of an unregistered top-level type may be an * Existing wide use of an unregistered top-level type may be an
indication of a need, and therefore an argument for formally indication of a need, and therefore may be an argument for
defining this new top-level type. formally defining this new top-level type.
* On the other hand, the use of unregistered top-level types is * On the other hand, the use of unregistered top-level types is
highly discouraged. highly discouraged.
* Use of an IETF WG to define a new top-level type is not needed, * Use of an IETF WG to define a new top-level type is not needed,
but may be advisable in some cases. There are examples of new but may be advisable in some cases. There are examples of new
top-level type definitions without a WG (RFC 2077 [RFC2077]), with top-level type definitions without a WG (RFC 2077 [RFC2077]), with
a short, dedicated WG (RFC 8081 [RFC8081]), and with a WG that a short, dedicated WG (RFC 8081 [RFC8081]), and with a WG that
included other related work (draft-ietf-mediaman-haptics included other related work (RFC 9695 [RFC9695]).
[HAPTICS]).
* The document defining the new top-level type should include * The document defining the new top-level type should include
initial registrations of actual subtypes. The exception may be a initial registrations of actual subtypes. The exception may be a
top-level type similar to 'example'. This will help to show the top-level type similar to 'example'. This will help show the need
need for the new top-level type, will allow checking the for the new top-level type, allow checking the appropriateness of
appropriateness of the definition of the new top-level type, will the definition of the new top-level type, avoid separate work for
avoid separate work for registering an initial slate of subtypes, registering an initial slate of subtypes, and provide examples of
and will provide examples of what is considered a valid subtype what is considered a valid subtype for future subtype
for future subtype registrations. registrations.
* The registration and actual use of a certain number of subtypes * The registration and actual use of a certain number of subtypes
under the new top-level type should be expected. The existence of under the new top-level type should be expected. The existence of
a single subtype should not be enough; it should be clear that new a single subtype should not be enough; it should be clear that new
similar types may appear in the future. Otherwise, the creation similar types may appear in the future. Otherwise, the creation
of a new top-level type is most probably not justified. of a new top-level type is most probably not justified.
* The proposers of the new top-level type and the wider community * The proposers of the new top-level type and the wider community
should be willing to commit to emitting and consuming the new top- should be willing to commit to emitting and consuming the new top-
level type in environments that they control. level type in environments that they control.
* Desirability for common parameters: The fact that a group of * Desirability for common parameters: The fact that a group of
(potential) types have (mostly) common parameters may be an (potential) types have (mostly) common parameters may be an
indication that these belong under a common new top-level type. indication that they belong under a common new top-level type.
* Top-level types can help humans with understanding and debugging. * Top-level types can help humans with understanding and debugging.
Therefore, evaluating how a new top-level type helps humans Therefore, evaluating how a new top-level type helps humans
understand types may be crucial. But as often with humans, understand types may be crucial. But as often with humans,
opinions may widely differ. opinions may widely differ.
* Common restrictions may apply to all subtypes of a top-level type. * Common restrictions may apply to all subtypes of a top-level type.
Examples are the restriction to CRLF line endings for subtypes of Examples are the restriction to CRLF line endings for subtypes of
type 'text' (at least in the context of electronic mail), or on type 'text' (at least in the context of electronic mail), or on
subtypes of type 'multipart'. subtypes of type 'multipart'.
* Top-level types are also used frequently in dispatching code. For * Top-level types are also used frequently in dispatching code. For
example "multipart/*" is frequently handled as multipart/mixed, example, "multipart/*" is frequently handled as multipart/mixed,
without understanding of a specific subtype. The top-level types without understanding of a specific subtype. The top-level types
'image', 'audio', and 'video' are also often handled generically. 'image', 'audio', and 'video' are also often handled generically.
Documents with these top-level types can be passed to applications Documents with these top-level types can be passed to applications
handling a wide variety of image, audio, or video formats. HTML handling a wide variety of image, audio, or video formats. HTML-
generating applications can select different HTML elements (e.g. generating applications can select different HTML elements (e.g.,
<img> or <audio>) for including data of different top-level types. <img> or <audio>) for including data of different top-level types.
Applications can select different icons to represent unknown types Applications can select different icons to represent unknown types
in different top-level types. in different top-level types.
2.3. Negative Criteria 2.3. Negative Criteria
This subsection lists negative criteria for top-level types, This subsection lists negative criteria for top-level types; it
identifying criteria that are explicitly not reasons for a top-level identifies criteria that are explicitly not reasons for a top-level
type registration. type registration.
* A top-level type is not a pointer into another registration space * A top-level type is not a pointer into another registration space
that offers duplicate registrations for existing media types. that offers duplicate registrations for existing media types.
Example: a top-level type of 'oid', leading to types of the form Example: a top-level type of 'oid', leading to types of the form
oid/nnnnn, where nnn is an OID (Object Identifier) designating a oid/nnnnn, where nnn is an OID (Object Identifier) designating a
specific media format, specific media format.
* A top-level type MUST NOT be defined for the mapping of other * A top-level type MUST NOT be defined for the mapping of other
protocol elements to media types. For example, while there may be protocol elements to media types. For example, while there may be
some merit to a mapping from media types to URIs, e.g. in the some merit to a mapping from media types to URIs, e.g., in the
context of RDF (Resource Description Framework), there is very context of RDF (Resource Description Framework), there is very
limited merit in a reverse mapping, and even less merit in limited merit in a reverse mapping, and even less merit in
creating a top-level type for such a mapping. The same applies to creating a top-level type for such a mapping. The same applies to
other protocol elements such as file extensions or URI schemes. other protocol elements such as file extensions or URI schemes.
The recommended solution in case a mapping is needed is to choose If a mapping is needed, the recommended solution is to choose a
a single type/subtype and put the additional information in an single type/subtype and put the additional information in an
appropriately named parameter. As an example, information on a appropriately named parameter. As an example, information on a
file extension '.dcat' can be encoded as 'application/octet- file extension '.dcat' can be encoded as 'application/octet-
string; filename=foo.dcat'. string; filename=foo.dcat'.
* Media types are not a general type system. A top-level type MUST * Media types are not a general type system. A top-level type MUST
NOT be defined if its main or only purpose is to map other type NOT be defined if its main or only purpose is to map other type
systems, e.g. in programming languages or ontologies. systems, e.g., in programming languages or ontologies.
* A new top-level type SHOULD NOT generate aliases for existing * A new top-level type SHOULD NOT generate aliases for existing
widely used types or subtypes. widely used types or subtypes.
* Top-level types with an "X-" prefix cannot be registered, and * Top-level types with an "X-" prefix cannot be registered, and
SHOULD NOT be used. This is in line with RFC [RFC6648]. SHOULD NOT be used. This is in line with RFC 6648 [RFC6648].
3. Top-Level Media Type History 3. Top-Level Media Type History
This section briefly describes the history of top-level types. The This section briefly describes the history of top-level types. The
emphasis is on the aspects of the history that are relevant to the emphasis is on the aspects of the history that are relevant to the
adoption of new top-level types. adoption of new top-level types.
RFC 1341 [RFC1341] first defined the structuring of content types RFC 1341 [RFC1341] first defined the structuring of content types
into (top-level) type and subtype, and introduced the 'text', into (top-level) type and subtype, and introduced the 'text',
'multipart', 'message', 'image', 'audio', 'video', and 'application' 'multipart', 'message', 'image', 'audio', 'video', and 'application'
skipping to change at page 7, line 46 skipping to change at line 303
| additional top-level content types. | additional top-level content types.
The 'model' top-level type was introduced by RFC 2077 [RFC2077] in The 'model' top-level type was introduced by RFC 2077 [RFC2077] in
1997. 1997.
RFC 4735 [RFC4735] introduced the 'example' top-level type for use in RFC 4735 [RFC4735] introduced the 'example' top-level type for use in
documentation examples. documentation examples.
The 'font' top-level type was defined in RFC 8081 [RFC8081], a work The 'font' top-level type was defined in RFC 8081 [RFC8081], a work
of the 'justfont' IETF WG, in 2017. This was formalizing the of the 'justfont' IETF WG, in 2017. This was formalizing the
widespread use of the unofficial 'font' top-level type which people widespread use of the unofficial 'font' top-level type that people
were using in preference to official, registered types. were using in preference to official, registered types.
There is ongoing work on defining a new 'haptics' top-level type in There is ongoing work to define a new 'haptics' top-level media type
draft-ietf-mediaman-haptics [HAPTICS]. in RFC 9695 [RFC9695].
Wikipedia (at https://en.wikipedia.org/wiki/Chemical_file_format) Wikipedia (at https://en.wikipedia.org/wiki/Chemical_file_format)
reports the unofficial use of a 'chemical' top-level type. This top- reports the unofficial use of a 'chemical' top-level type. This top-
level type was proposed by Peter Murray-Rust and Henry Rzepa at a level type was proposed by Peter Murray-Rust and Henry Rzepa at a
workshop at the First WWW conference in May 1994 CHEMIME [CHEMIME]. workshop at the First WWW conference in May 1994 [CHEMIME]. It is in
It is in widespread use, but remains unregistered. widespread use but remains unregistered.
Some Linux desktop logic uses what looks like a top-level type of 'x- Some Linux desktop logic uses what looks like a top-level type of 'x-
scheme-handler' to map URI schemes to applications. In addition, the scheme-handler' to map URI schemes to applications. In addition, the
type 'inode/directory' is used. However, this is a purely local, type 'inode/directory' is used. However, this is a purely local,
system-specific use, not intended for exchange. If exchange or system-specific use, and is not intended for exchange. If exchange
standardization are desired, a change from e.g. 'x-scheme-handler/ or standardization are desired, a change from, for example, 'x-
http' to something like 'application/scheme-handler; scheme=http' or scheme-handler/http' to something like 'application/scheme-handler;
'inode/directory' to 'multipart/inode-directory' or 'application/ scheme=http' or 'inode/directory' to 'multipart/inode-directory' or
inode-directory (in all cases, properly registered) is strongly 'application/inode-directory (in all cases, properly registered) is
recommended. strongly recommended.
The document currently defining the requirements for new top-level The document currently defining the requirements for new top-level
media types is RFC 6838 [RFC6838]. Of particular relevance to the media types is RFC 6838 [RFC6838]. Of particular relevance to the
work in this document are Section 4.2.5 (Application Media Types) and work in this document are Sections 4.2.5 (Application Media Types)
Section 4.2.7 (Additional Top-Level Types). These two sections are and 4.2.7 (Additional Top-Level Types) of [RFC6838]. These two
not strictly aligned, because the first says that anything that sections are not strictly aligned, because the first says that
doesn't go under a more specific type can go under the 'application' anything that doesn't go under a more specific type can go under the
top-level type, while the later section allows for new top-level 'application' top-level type, while the later section allows for new
types. top-level types.
4. IANA Considerations 4. IANA Considerations
4.1. Registration of Top-level Media Types 4.1. Registration of Top-level Media Types
Registrations of new top-level types follow the "Standards Action" Registrations of new top-level types follow the "Standards Action"
policy (see RFC 8126, Section 4.9 [RFC8126]). policy (see Section 4.9 of RFC 8126 [RFC8126]).
Registrations of new top-level types have to provide the name of the Registrations of new top-level types have to provide the name of the
top-level type, the defining specification (RFC, or the respective top-level type, the defining specification (RFC, or the respective
draft during the approval process), and, if applicable, some draft during the approval process), and, if applicable, some
comments. They have to contain a "IANA Considerations" section comments. The defining specifications have to contain an "IANA
requesting addition to the registry of top-level media types, and Considerations" section requesting addition to the registry of top-
have to document security considerations for the top-level types they level media types and document security considerations for the top-
register. level types they register.
The comments field is empty or contains short comments about the The comments field is empty or contains short comments about the
usage of the type. Comments can be added or updated by the experts usage of the type. Comments can be added or updated by the experts
for subtype registrations under the respective top-level type, and by for subtype registrations under the respective top-level type, and by
IANA itself. IANA itself.
There should be at least one subtype, except for registrations that There should be at least one subtype, except for registrations that
are for demonstration purposes only (e.g. the example top-level are for demonstration purposes only (e.g. the example top-level
type). type).
4.2. Initialization of the Registry of Top-level Media Types 4.2. Initialization of the Registry of Top-Level Media Types
IANA is requested to create and populate a registry of top-level IANA has created the "Top-Level Media Types" registry and populated
media types, This should be done by expanding the "Registries it with the values in Table 1. IANA also added a pointer to this
included below" section of https://www.iana.org/assignments/media- registry from the "Media Types" registry group.
types/media-types.xhtml (assuming this is compatible with IANA
infrastructure; if not, then there should be at least a pointer from
that page to this new registry).
For each top-level media type, the registry contains the name of the For each top-level media type, the registry contains the name of the
type, a pointer to the RFC defining the type, a pointer to IANA's type, a pointer to the RFC defining the type, a pointer to IANA's
registry of subtypes for that type, and a comment field. registry of subtypes for that type, and a comment field.
The initial state of the registry is as follows: The initial state of the registry is as follows:
+=============+==============+================+===================+ +===========+=========+==================================+==============+
| name | Defining RFC | Registry of | Comments | |name |Defining |Registry of Subtypes |Comments |
| | | Subtypes | | | |RFC | | |
+=============+==============+================+===================+ +===========+=========+==================================+==============+
| application | RFC 2046 | [pointer to be | - | |application|[RFC2046]|[Application Media Types |- |
| | | added by IANA] | | | | |(https://www.iana.org/assignments/| |
+-------------+--------------+----------------+-------------------+ | | |media-types/)] | |
| audio | RFC 2046 | [pointer to be | - | +-----------+---------+----------------------------------+--------------+
| | | added by IANA] | | |audio |[RFC2046]|[Audio Media Types |- |
+-------------+--------------+----------------+-------------------+ | | |(https://www.iana.org/assignments/| |
| example | RFC 4735 | - | no registrations, | | | |media-types/)] | |
| | | | for examples only | +-----------+---------+----------------------------------+--------------+
+-------------+--------------+----------------+-------------------+ |example |[RFC4735]|[Example Media Types] |no |
| font | RFC 8081 | [pointer to be | - | | | | |registrations,|
| | | added by IANA] | | | | | |for examples |
+-------------+--------------+----------------+-------------------+ | | | |only |
| haptics | RFC | [pointer to be | - | +-----------+---------+----------------------------------+--------------+
| | [HAPTICS] | added by IANA] | | |font |[RFC8081]|[Font Media Types] |- |
+-------------+--------------+----------------+-------------------+ +-----------+---------+----------------------------------+--------------+
| image | RFC 2046 | [pointer to be | - | |haptics |[RFC9695]|[Haptics Media Types] |- |
| | | added by IANA] | | | |[RFC9695]| | |
+-------------+--------------+----------------+-------------------+ +-----------+---------+----------------------------------+--------------+
| message | RFC 2046 | [pointer to be | - | |image |[RFC2046]|[Image Media Types] |- |
| | | added by IANA] | | +-----------+---------+----------------------------------+--------------+
+-------------+--------------+----------------+-------------------+ |message |[RFC2046]|[Message Media Types] |- |
| model | RFC 2077 | [pointer to be | - | +-----------+---------+----------------------------------+--------------+
| | | added by IANA] | | |model |[RFC2077]|[Model Media Types] |- |
+-------------+--------------+----------------+-------------------+ +-----------+---------+----------------------------------+--------------+
| multipart | RFC 2046 | [pointer to be | - | |multipart |[RFC2046]|[Multipart Media Types] |- |
| | | added by IANA] | | +-----------+---------+----------------------------------+--------------+
+-------------+--------------+----------------+-------------------+ |text |[RFC2046]|[Text Media Types] |requires CRLF |
| text | RFC 2046 | [pointer to be | requires CRLF for | | | | |for newlines |
| | | added by IANA] | newlines | +-----------+---------+----------------------------------+--------------+
+-------------+--------------+----------------+-------------------+ |video |[RFC2046]|[Video Media Types] |- |
| video | RFC 2046 | [pointer to be | - | +-----------+---------+----------------------------------+--------------+
| | | added by IANA] | |
+-------------+--------------+----------------+-------------------+
Table 1: Initial Values for the Registry of Top-level Media Types Table 1: Initial Values for the Registry of Top-level Media Types
IANA is also requested to add pointers to this document and to the IANA has also added pointers to this document and to the "Top-Level
new registry in the application page at https://www.iana.org/form/ Media Types" registry in the application for a media type at
media-types. <https://www.iana.org/form/media-types>.
5. Security Considerations 5. Security Considerations
This document as such is not expected to introduce any security This document as such is not expected to introduce any security
issues. The security issues of introducing a new top-level media issues. The security issues related to introducing a new top-level
type MUST be evaluated and documented carefully. media type MUST be evaluated and documented carefully.
Changelog
RFC Editor, please remove this section before publication.
Changes from draft-ietf-mediaman-toplevel-01 Onwards
* See https://github.com/ietf-wg-mediaman/toplevel/commits/main/
draft-ietf-mediaman-toplevel.xml.
Changes from draft-ietf-mediaman-toplevel-00 to draft-ietf-mediaman-
toplevel-00
* In the Introduction, add a Background section.
* Reorganized so that criteria come first, and split criteria
section into various subsections.
* Add reasons to criteria.
* Fixes to status and related text pieces.
* Cosmetic fixes, in particular getting rid of 'references in your
face' (e.g. "RFC ABCD [RFC ABCD]") little by little.
Changes from draft-duerst-mediaman-toplevel-00 to draft-ietf-mediaman-
toplevel-01
* Add reference to RFC 2077 [RFC2077] for definition of 'model'
type.
* Add examples of use of top-level types for dispatch.
* Remove a stray '>' before the mention of RFC 4735 [RFC4735].
* Change link to chemical/* Wikipedia page.
* Remove reference in abstract (pointed out by idnits).
Acknowledgements Acknowledgements
Continuous encouragement for writing this draft came from Harald Continuous encouragement for writing this document came from Harald
Alvestrand. Further encouragement was provided by Murray S. Alvestrand. Further encouragement was provided by Murray
Kucherawy. Both Harald and Murray also provided ideas for actual S. Kucherawy. Both Harald and Murray also provided ideas for actual
text. Without them, this memo would never have reached even the text. Without them, this memo would never have reached even the
first draft stage. Alexey Melnikov provided the difficult to find first draft stage. Alexey Melnikov provided the difficult to find
pointer to RFC 2077 [RFC2077] and examples for applications pointer to RFC 2077 [RFC2077] and examples for applications
dispatching on top-level types. Additional information and comments dispatching on top-level types. Additional information and comments
were received from Chris Lilley, Graham Kline, Henry S. Rzepa, were received from Chris Lilley, Graham Kline, Henry S. Rzepa,
Francesca Palombini, Zaheduzzaman Sarker, Amanda Baber, Paul Wouters, Francesca Palombini, Zaheduzzaman Sarker, Amanda Baber, Paul Wouters,
Roman Danyliw, John Scudder, Radia Perlman, Lars Eggert, and Antoine Roman Danyliw, John Scudder, Radia Perlman, Lars Eggert, and Antoine
Fressancourt. Inspiration for negative criteria or examples was Fressancourt. Inspiration for negative criteria or examples were
provided by Phillip Hallam-Baker, Donald E. Eastlake 3rd, Petter provided by Phillip Hallam-Baker, Donald E. Eastlake 3rd, Petter
Reinholdtsen, and Christian Heller. Reinholdtsen, and Christian Heller.
References References
Normative References Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type [RFC6838] Freed, N., Klensin, J., and T. Hansen, "Media Type
Specifications and Registration Procedures", BCP 13, Specifications and Registration Procedures", BCP 13,
RFC 6838, DOI 10.17487/RFC6838, January 2013, RFC 6838, DOI 10.17487/RFC6838, January 2013,
<https://www.rfc-editor.org/info/rfc6838>. <https://www.rfc-editor.org/info/rfc6838>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/rfc/rfc8126.html#section-4.9>. <https://www.rfc-editor.org/info/rfc8126>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
Informative References Informative References
[CHEMIME] Rzepa, H.S., Murray-Rust, P., and B. Whitaker, "The [CHEMIME] Rzepa, H.S., Murray-Rust, P., and B. Whitaker, "The
Application of Chemical Multipurpose Internet Mail Application of Chemical Multipurpose Internet Mail
Extensions (Chemical MIME) Internet Standards to Extensions (Chemical MIME) Internet Standards to
Electronic Mail and World Wide Web Information Exchange", Electronic Mail and World Wide Web Information Exchange",
DOI 10.1021/ci9803233, 14 August 1998, Journal of Chemical Information Computer Science, vol. 38,
no. 6, pp. 976-982, DOI 10.1021/ci9803233, 14 August 1998,
<https://pubs.acs.org/doi/10.1021/ci9803233>. <https://pubs.acs.org/doi/10.1021/ci9803233>.
[HAPTICS] Muthusamy, Y. K. and C. Ullrich, "The 'haptics' Top-level
Media Type", RFC XXXX, <https://datatracker.ietf.org/doc/
draft-ietf-mediaman-haptics/>.
[RFC1341] Borenstein, N. and N. Freed, "MIME (Multipurpose Internet [RFC1341] Borenstein, N. and N. Freed, "MIME (Multipurpose Internet
Mail Extensions): Mechanisms for Specifying and Describing Mail Extensions): Mechanisms for Specifying and Describing
the Format of Internet Message Bodies", RFC 1341, the Format of Internet Message Bodies", RFC 1341,
DOI 10.17487/RFC1341, June 1992, DOI 10.17487/RFC1341, June 1992,
<https://www.rfc-editor.org/info/rfc1341>. <https://www.rfc-editor.org/info/rfc1341>.
[RFC1437] Borenstein, N. and M. Linimon, "The Extension of MIME [RFC1437] Borenstein, N. and M. Linimon, "The Extension of MIME
Content-Types to a New Medium", RFC 1437, Content-Types to a New Medium", RFC 1437,
DOI 10.17487/RFC1437, April 1993, DOI 10.17487/RFC1437, April 1993,
<https://www.rfc-editor.org/info/rfc1437>. <https://www.rfc-editor.org/info/rfc1437>.
skipping to change at page 13, line 30 skipping to change at line 488
[RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail
Extensions (MIME) Part Two: Media Types", RFC 2046, Extensions (MIME) Part Two: Media Types", RFC 2046,
DOI 10.17487/RFC2046, November 1996, DOI 10.17487/RFC2046, November 1996,
<https://www.rfc-editor.org/info/rfc2046>. <https://www.rfc-editor.org/info/rfc2046>.
[RFC2048] Freed, N., Klensin, J., and J. Postel, "Multipurpose [RFC2048] Freed, N., Klensin, J., and J. Postel, "Multipurpose
Internet Mail Extensions (MIME) Part Four: Registration Internet Mail Extensions (MIME) Part Four: Registration
Procedures", RFC 2048, DOI 10.17487/RFC2048, November Procedures", RFC 2048, DOI 10.17487/RFC2048, November
1996, <https://www.rfc-editor.org/info/rfc2048>. 1996, <https://www.rfc-editor.org/info/rfc2048>.
[RFC2077] Nelson, S., Parks, C., and Mitra., "The Model Primary [RFC2077] Nelson, S., Parks, C., and Mitra, "The Model Primary
Content Type for Multipurpose Internet Mail Extensions", Content Type for Multipurpose Internet Mail Extensions",
RFC 2077, DOI 10.17487/RFC2077, January 1997, RFC 2077, DOI 10.17487/RFC2077, January 1997,
<https://www.rfc-editor.org/info/rfc2077>. <https://www.rfc-editor.org/info/rfc2077>.
[RFC4735] Taylor, T., "Example Media Types for Use in [RFC4735] Taylor, T., "Example Media Types for Use in
Documentation", RFC 4735, DOI 10.17487/RFC4735, October Documentation", RFC 4735, DOI 10.17487/RFC4735, October
2006, <https://www.rfc-editor.org/info/rfc4735>. 2006, <https://www.rfc-editor.org/info/rfc4735>.
[RFC6648] Saint-Andre, P., Crocker, D., and M. Nottingham, [RFC6648] Saint-Andre, P., Crocker, D., and M. Nottingham,
"Deprecating the "X-" Prefix and Similar Constructs in "Deprecating the "X-" Prefix and Similar Constructs in
Application Protocols", BCP 178, RFC 6648, Application Protocols", BCP 178, RFC 6648,
DOI 10.17487/RFC6648, June 2012, DOI 10.17487/RFC6648, June 2012,
<https://www.rfc-editor.org/info/rfc6648>. <https://www.rfc-editor.org/info/rfc6648>.
[RFC8081] Lilley, C., "The "font" Top-Level Media Type", RFC 8081, [RFC8081] Lilley, C., "The "font" Top-Level Media Type", RFC 8081,
DOI 10.17487/RFC8081, February 2017, DOI 10.17487/RFC8081, February 2017,
<https://www.rfc-editor.org/info/rfc8081>. <https://www.rfc-editor.org/info/rfc8081>.
[RFC9695] Muthusamy, Y. K. and C. Ullrich, "The 'haptics' Top-level
Media Type", RFC 9695, DOI 10.17487/RFC9695, December
2024, <https://www.rfc-editor.org/info/rfc9695>.
Author's Address Author's Address
Martin J. Dürst Martin J. Dürst
Aoyama Gakuin University Aoyama Gakuin University
Fuchinobe 5-10-1, Chuo-ku, Sagamihara, Kanagawa Fuchinobe 5-10-1, Chuo-ku, Sagamihara, Kanagawa
252-5258 252-5258
Japan Japan
Phone: +81 42 759 6329 Phone: +81 42 759 6329
Email: duerst@it.aoyama.ac.jp Email: duerst@it.aoyama.ac.jp
URI: https://www.sw.it.aoyama.ac.jp/Dürst/ URI: https://www.sw.it.aoyama.ac.jp/Dürst/
 End of changes. 50 change blocks. 
219 lines changed or deleted 160 lines changed or added

This html diff was produced by rfcdiff 1.48.