RFC 9876: Updates to the IANA Registration Procedures for Constrained Application Protocol (CoAP) Content-Formats
- T. Fossati,
- E. Dijk
Abstract
This document updates RFC 7252 by modifying the registration procedures for the "CoAP Content
Status of This Memo
This is an Internet Standards Track document.¶
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 Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2025 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
(https://
1. Introduction
Section 12.3 of [RFC7252] describes the registration procedures for the "CoAP Content
Unfortunately, the rules do not explicitly require checking that the combination of Content-Type (i.e., Media Type with optional parameters) and Content Coding associated with the requested CoAP Content-Format is semantically valid. This task is generally non-trivial, requires knowledge from multiple documents and technologies, and should not be solely demanded from the registrar. This lack of guidance may engender confusion in both the registering party and the registrar, and it has already led to erroneous registrations.¶
This document updates [RFC7252] by modifying the registration procedures for the "CoAP Content
2. Conventions and Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
This document uses the terms "Media Type", "Content Coding", "Content-Type", and "Content Format" as defined in Section 2 of [RFC9193]. In this document, those terms are fully capitalized.¶
3. Security Considerations
This document updates the registration procedures of CoAP Content-Formats to reduce the chances of malicious manipulation of the associated registry.¶
Otherwise, it does not change the Security Considerations of [RFC7252].¶
4. IANA Considerations
This document updates the IANA procedures defined in [RFC7252] for registering CoAP Content-Formats as described in Section 4.1. It also adds a new note concerning temporary registrations (Section 4.2) and reserves Content-Format IDs 64998 and 64999 for documentation (Section 4.3).¶
4.1. CoAP Content-Formats Registry
This section and its subsections replace Section 12.3 of [RFC7252].¶
Internet Media Types are identified by a string, such as "application
Each entry in the registry must include the Content Type, the Content Coding (if any), the Media Type registered with IANA, the numeric identifier in the range 0-65535 to be used for that Media Type in CoAP, and a reference to a document describing what a payload with that Media Type means semantically.¶
CoAP does not include a separate way to convey Content Coding information with a request or response; for that reason, the Content Coding (if any) is also specified for each identifier. If multiple Content Codings will be used with a Media Type, then a separate Content-Format identifier for each is to be registered. Similarly, other parameters related to an Internet Media Type can be defined for a CoAP Content-Format entry.¶
The registration procedures for CoAP Content-Formats are described in Table 1.¶
Because the namespace of single-byte identifiers is so small, the IANA policy for additions in the range 0-255 inclusive to the registry is "Expert Review" as described in Section 4.5 of RFC 8126 [BCP26]. For the handling of temporary allocations within the 0-255 range, see also Section 4.1.1, Paragraph 6.¶
The 256-9999 range has registration procedures requiring "IETF Review with Expert Review" or "IESG Approval with Expert Review". In particular:¶
The registration policy for the 10000-19999 and 33000-64997 ranges is "Expert Review", following the procedure described in Section 4.1.3.¶
The registration policy for the 20000-32999 range is FCFS. A registration request for this range must consist solely of a registered Media Type name in the "Content Type" field, without any parameter names or "Content Coding", and the Media Type must not have been used in this registry yet. If the criteria do not apply, a registration for a different range (which requires "Expert Review") can be requested.¶
The identifiers between 65000 and 65535 inclusive are reserved for experiments. They are not meant for vendor-specific use of any kind and MUST NOT be used in operational deployments.¶
In machine
4.1.1. Temporary Content-Format Registrations
This section clarifies that the "CoAP Content
A temporary registration may be created, for example, by an IANA early allocation action [RFC7120].
If the referenced Media Type is provisional (that is, included in the "Provisional Standard Media Type Registry" [IANA
A temporary registration is marked as such by IANA in the corresponding registry entry. Once the required registration procedure (defined in Table 1) for the temporary ID has successfully completed, and the referenced Media Type is included in the "Media Types" registry [IANA.media-types], IANA must remove any indication about the temporary nature of the registration so that the entry becomes permanent.¶
If a temporary registration does not successfully complete the registration procedure, IANA must remove the entry and set the Content-Format ID value back to "Unassigned". This may happen, for example, when an Internet-Draft requesting a Content-Format ID is abandoned. If a temporary registration (in any range) refers to a provisional Media Type that is abandoned, IANA must remove the entry and set the Content-Format ID value back to "Unassigned".¶
Note that in the 10000-64997 range, the abandonment of a document requesting a Content-Format ID does not cause an entry to be removed. That is because the required registration procedure for this range does not require completion of any standards process, nor does it require a registering document.¶
4.1.2. Addition of the Media Type Column to the Registry
To assist users of the "CoAP Content
The "Media Type" field for each entry lists the (base) Media Type name and provides a hyperlink to registration information for that Media Type as recorded by IANA.
If the Media Type is provisional, the hyperlink points to the "Provisional Standard Media Type Registry" [IANA
In a registration request, the requester does not need to fill out the "Media Type" field separately, as the necessary information is already provided in the "Content Type" field of the request.¶
4.1.3. Expert Review Procedure
The designated expert is instructed to perform the "Expert Review", as described by the following checklist:¶
For the 0-255 range, in addition to the checks described above, the designated expert is instructed to also evaluate the requested code point concerning the limited availability of the 1-byte code point space. For the ranges 256-9999, 10000-19999, and 33000-64997, a similar criterion may also apply where combinations of Media Type parameters and Content Coding choices consume considerable code point space.¶
4.1.4. Preferred Format for the Content Type Field
This section defines the preferred string format for including a requested Content Type in the "CoAP Content
The preferred string format is as defined in Section 8.3.1 of [RFC9110] and follows these rules:¶
4.1.5. Examples of Invalid Registration Requests
This section provides examples of registration requests for the "CoAP Content
All the example registration requests use two CoAP Content-Format identifiers: 64998 and 64999.¶
4.1.5.1. The Media Type is Unknown
The registrant requests an FCFS Content-Format ID for an unknown Media Type:¶
4.1.5.2. The Media Type Parameter is Unknown
The registrant requests an FCFS Content-Format ID for an existing Media Type with an unknown parameter:¶
4.1.5.3. The Media Type Parameter Value is Invalid
The registrant requests an FCFS Content-Format ID for an existing Media Type with an invalid parameter value:¶
4.1.5.4. The Content Coding is Unknown
The registrant requests an FCFS Content-Format ID for an existing Media Type with an unknown Content Coding:¶
4.1.5.5. Duplicate Entry with Default Media Type Parameters
The registrant requests an FCFS Content-Format ID for a Media Type that includes a parameter set to its default value, while a (hypothetical) Content-Format ID 64998 is already registered for this Media Type without that parameter. As a result, this could lead to the creation of two separate Content-Format IDs for the same "logical" entry.¶
4.1.5.6. Duplicate Entry with Default Content Coding
The registrant requests an FCFS Content-Format ID for the "identity" Content Coding, which is the default coding. If accepted, this request would duplicate an entry with (hypothetical) Content-Format ID 64998 where the "Content Coding" field is left empty.¶
4.1.5.7. Duplicate Entry with Equivalent Parameter
The registrant requests an FCFS Content-Format ID for a Media Type that includes a parameter. The value of this parameter appears distinct from that of a (hypothetical) previously registered Content-Format ID 64998 that also includes this parameter. However, the semantics of the parameter value are identical to the existing registration.¶
In this example, the eat_profile parameter value (which can be any URI) is set as a Uniform Resource Name (URN) [RFC8141].
Since the Namespace Identifier (example, in this case) for URNs is defined as case insensitive, the two registrations are semantically identical.¶
4.2. New Note and Reference Additions
IANA has added the following note to the registry:¶
Note: As per RFC 9876, temporary registrations within the 0-255 range are approved by designated experts. These registrations are not subject to the formal renewal process in [RFC7120].¶
IANA has also listed this document as an additional reference for the registry.¶
4.3. Reserving Content-Format Identifiers 64998 and 64999 for Documentation
IANA has reserved Content-Format identifiers 64998 and 64999 for use in documentation.¶
5. References
5.1. Normative References
- [BCP26]
-
Best Current Practice 26, <https://
www >..rfc -editor .org /info /bcp26
At the time of writing, this BCP comprises the following:Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487 , , <https:///RFC8126 www >..rfc -editor .org /info /rfc8126 - [IANA
.core -params] -
IANA, "Constrained RESTful Environments (CoRE) Parameters", <https://
www >..iana .org /assignments /core -parameters - [IANA
.http -params] -
IANA, "Hypertext Transfer Protocol (HTTP) Parameters", <https://
www >..iana .org /assignments /http -parameters - [IANA
.media -types] -
IANA, "Media Types", <https://
www >..iana .org /assignments /media -types - [IANA
.prov -media -types] -
IANA, "Provisional Standard Media Type Registry", <https://
www >..iana .org /assignments /provisional -standard -media -types - [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC7120]
-
Cotton, M., "Early IANA Allocation of Standards Track Code Points", BCP 100, RFC 7120, DOI 10
.17487 , , <https:///RFC7120 www >..rfc -editor .org /info /rfc7120 - [RFC7252]
-
Shelby, Z., Hartke, K., and C. Bormann, "The Constrained Application Protocol (CoAP)", RFC 7252, DOI 10
.17487 , , <https:///RFC7252 www >..rfc -editor .org /info /rfc7252 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC9110]
-
Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., "HTTP Semantics", STD 97, RFC 9110, DOI 10
.17487 , , <https:///RFC9110 www >..rfc -editor .org /info /rfc9110 - [RFC9193]
-
Keränen, A. and C. Bormann, "Sensor Measurement Lists (SenML) Fields for Indicating Data Value Content-Format", RFC 9193, DOI 10
.17487 , , <https:///RFC9193 www >..rfc -editor .org /info /rfc9193
5.2. Informative References
- [Err4954]
-
RFC Errata, Erratum ID 4954, RFC 7252, <https://
www >..rfc -editor .org /errata /eid4954 - [RFC2046]
-
Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, DOI 10
.17487 , , <https:///RFC2046 www >..rfc -editor .org /info /rfc2046 - [RFC8141]
-
Saint-Andre, P. and J. Klensin, "Uniform Resource Names (URNs)", RFC 8141, DOI 10
.17487 , , <https:///RFC8141 www >..rfc -editor .org /info /rfc8141
Acknowledgments
Thank you Amanda Baber, Carsten Bormann, Christer Holmberg, Éric Vyncke, Francesca Palombini, Ketan Talaulikar, Marco Tiloca, Mohamed Boucadair, Paul Wouters, Renzo Navas, and Rich Salz for your reviews, comments, suggestions, and fixes.¶