<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.26 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-cf-reg-update-07" category="std" consensus="true" submissionType="IETF" updates="7252" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="CoAP Content-Format Registrations Update">Update to the IANA CoAP Content-Formats Registration Procedures</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-core-cf-reg-update-07"/>
    <author fullname="Thomas Fossati">
      <organization>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author fullname="Esko Dijk">
      <organization>IoTconsultancy.nl</organization>
      <address>
        <email>esko.dijk@iotconsultancy.nl</email>
      </address>
    </author>
    <date year="2025" month="March" day="25"/>
    <area>Web and Internet Transport</area>
    <workgroup>Constrained RESTful Environments</workgroup>
    <keyword>IANA</keyword>
    <keyword>registration</keyword>
    <keyword>update</keyword>
    <keyword>CoAP</keyword>
    <keyword>Content-Format</keyword>
    <abstract>
      <?line 56?>

<t>This document updates RFC7252 regarding the registration procedures for the "CoAP Content-Formats" IANA registry, within the "Constrained RESTful Environments (CoRE) Parameters" registry group.
This document also introduces a new column, "Media Type", to the registry.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://core-wg.github.io/cf-reg-update/draft-ietf-core-cf-reg-update.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-core-cf-reg-update/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Constrained RESTful Environments Working Group mailing list (<eref target="mailto:core@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/core/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/core-wg/cf-reg-update"/>.</t>
    </note>
  </front>
  <middle>
    <?line 61?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref section="12.3" sectionFormat="of" target="RFC7252"/> describes the registration procedures for the "CoAP Content-Formats" IANA registry within the "Constrained RESTful Environments (CoRE) Parameters" registry group <xref target="IANA.core-parameters"/>.
(Note that the columns of this registry have been revised according to <xref target="Err4954"/>.)</t>
      <t>In particular, the text defines the rules for obtaining CoAP Content-Format identifiers from the "IETF Review" or "IESG Approval" range of the registry (256-9999) as well as from the First Come First Served (FCFS) range of the registry (10000-64999).
For the FCFS range, these rules do not involve the Designated Expert (DE) and are managed solely by IANA personnel to finalize the registration.</t>
      <t>Unfortunately, the instructions 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 has already led to erroneous registrations.</t>
      <t>In <xref target="iana"/>, this document updates <xref target="RFC7252"/> by modifying the registration procedures for the "CoAP Content-Formats" registry to mitigate the risk of unintentional or malicious errors.
These updates amend the different ranges of the registry, introduce a review procedure to be performed for most ranges of the registry, and allow the registration of temporary Content-Format identifiers.
This document also introduces a new column, "Media Type", to the registry.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>This document uses the terms "media type", "content coding", "content-type", and "content format" as defined in <xref section="2" sectionFormat="of" target="RFC9193"/>.</t>
    </section>
    <section anchor="examples-for-erroneous-registrations">
      <name>Examples for Erroneous Registrations</name>
      <t>This section provides examples of registration requests for the "CoAP Content-Formats" Registry (as defined in <xref section="12.3" sectionFormat="of" target="RFC7252"/> and revised according to <xref target="Err4954"/>) that are invalid but would be approved under the current procedure.
The checklist defined in <xref target="checks"/> should prevent any of these attempts from succeeding.</t>
      <t>All the example registration requests use a CoAP Content-Format with identifier 64999 in the FCFS range of the "CoAP Content-Formats" registry.</t>
      <t>For each of the following example registration requests, one can create a similar instance where the requested registration is for a CoAP Content-Format identifier within the "IETF Review" or "IESG Approval" range of the registry.
Similarly, such registrations must not be allowed to succeed.</t>
      <section anchor="ex-unknown-mt">
        <name>The Media Type is Unknown</name>
        <t>The registrant requests an FCFS Content-Format ID for an unknown media type:</t>
        <table align="left">
          <name>Attempt at Registering Content-Format for an Unknown Media Type</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/unknown+cbor</td>
              <td align="left">-</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="the-media-type-parameter-is-unknown">
        <name>The Media Type Parameter is Unknown</name>
        <t>The registrant requests an FCFS Content-Format ID for an existing media type with an unknown parameter:</t>
        <table align="left">
          <name>Attempt at Registering Content-Format for Media Type with Unknown Parameter</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/cose;unknown-parameter=1</td>
              <td align="left">-</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="the-media-type-parameter-value-is-invalid">
        <name>The Media Type Parameter Value is Invalid</name>
        <t>The registrant requests an FCFS Content-Format ID for an existing media type with an invalid parameter value:</t>
        <table align="left">
          <name>Attempt at Registering Content-Format for Media Type with Invalid Parameter Value</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/cose;cose-type=invalid</td>
              <td align="left">-</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="the-content-coding-is-unknown">
        <name>The Content Coding is Unknown</name>
        <t>The registrant requests an FCFS Content-Format ID for an existing media type with an unknown content coding:</t>
        <table align="left">
          <name>Attempt at Registering Content-Format with Unknown Content Coding</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/senml+cbor</td>
              <td align="left">inflate</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="duplicate-entry-with-default-media-type-parameters">
        <name>Duplicate Entry with Default Media Type Parameters</name>
        <t>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 64900 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.</t>
        <table align="left">
          <name>Attempt at Registering an Equivalent Logical Entry with a Different Content-Format ID (1)</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/my</td>
              <td align="left">-</td>
              <td align="left">64900</td>
            </tr>
            <tr>
              <td align="left">application/my;parameter=default</td>
              <td align="left">-</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="duplicate-entry-with-default-content-coding">
        <name>Duplicate Entry with Default Content Coding</name>
        <t>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 64900 where the "Content Coding" field is left empty.</t>
        <table align="left">
          <name>Attempt at Registering an Equivalent Logical Entry with a Different Content-Format ID (2)</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/my</td>
              <td align="left">-</td>
              <td align="left">64900</td>
            </tr>
            <tr>
              <td align="left">application/my</td>
              <td align="left">identity</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="duplicate-entry-with-equivalent-parameter">
        <name>Duplicate Entry with Equivalent Parameter</name>
        <t>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 64900 that also includes this parameter.
However, the semantics of the parameter value are identical to the existing registration.</t>
        <t>In this example, the <tt>eat_profile</tt> parameter value (which can be any URI) is set as a Uniform Resource Name (URN) <xref target="RFC8141"/>.
Since for URNs, the Namespace Identifier (<tt>foo</tt> in the example) is defined as case insensitive, the two registrations are semantically identical.</t>
        <table align="left">
          <name>Attempt at Registering an Equivalent Logical Entry with a Different Content-Format ID (3)</name>
          <thead>
            <tr>
              <th align="left">Content Type</th>
              <th align="left">Content Coding</th>
              <th align="left">ID</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">application/eat+cwt;eat_profile="urn:foo:1"</td>
              <td align="left">-</td>
              <td align="left">64900</td>
            </tr>
            <tr>
              <td align="left">application/eat+cwt;eat_profile="urn:FOO:1"</td>
              <td align="left">-</td>
              <td align="left">64999</td>
            </tr>
          </tbody>
        </table>
      </section>
    </section>
    <section anchor="updates">
      <name>Updates to RFC 7252</name>
      <t>This section updates <xref section="12.3" sectionFormat="of" target="RFC7252"/> and introduces four new “virtual” subsections, 12.3.1 to 12.3.4.</t>
      <section anchor="iana">
        <name>Updates to Section 12.3 "CoAP Content-Formats Registry"</name>
        <t><cref anchor="replace-self">RFC Editor: in this section, please replace RFCthis with the RFC number assigned to this document and remove this note.</cref></t>
        <t>The CoAP Content-Formats registration procedures defined in <xref section="12.3" sectionFormat="of" target="RFC7252"/> are modified as shown in <xref target="tbl-new-cf-proc"/>.</t>
        <table anchor="tbl-new-cf-proc">
          <name>Updated CoAP Content-Formats Registration Procedures</name>
          <thead>
            <tr>
              <th align="left">Range</th>
              <th align="left">Registration Procedures</th>
              <th align="left">Notes</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0-255</td>
              <td align="left">Expert Review</td>
              <td align="left">Review procedure described in RFCthis, <xref target="checks"/></td>
            </tr>
            <tr>
              <td align="left">256-9999</td>
              <td align="left">IETF Review with Expert Review or IESG Approval with Expert Review</td>
              <td align="left">Review procedure described in RFCthis, <xref target="checks"/></td>
            </tr>
            <tr>
              <td align="left">10000-64999</td>
              <td align="left">Expert Review or First Come First Served (FCFS)</td>
              <td align="left">Review procedure described in RFCthis, <xref target="checks"/>. <br/><br/>FCFS is allowed if the registration: <br/> * has no parameters, and <br/> * has an empty Content Coding, and <br/> * the media type is not yet used in this registry, and <br/> * the media type is registered (or approved for registration) in the "Media Types" registry <xref target="IANA.media-types"/>. <br/><br/>Expert Review is required in all other cases.</td>
            </tr>
            <tr>
              <td align="left">65000-65535</td>
              <td align="left">Experimental Use</td>
              <td align="left">No operational use</td>
            </tr>
          </tbody>
        </table>
        <t>The 256-9999 range now has registration procedures requiring "IETF Review with Expert Review" or "IESG Approval with Expert Review." In particular:</t>
        <ul spacing="normal">
          <li>
            <t>All assignments according to "IETF Review with Expert Review" are made on an "IETF Review" basis per <xref section="4.8" sectionFormat="of" target="BCP26"/> with "Expert Review" additionally required per <xref section="4.5" sectionFormat="of" target="BCP26"/>.  </t>
            <t>
The procedure for early IANA allocation of "standards track code points" defined in <xref target="RFC7120"/> also applies. When such a procedure is used, IANA will ask the Designated Expert(s) to approve the early allocation before registration. In addition, working group chairs are encouraged to consult the Expert(s) early during the process outlined in <xref section="3.1" sectionFormat="of" target="RFC7120"/>.</t>
          </li>
          <li>
            <t>All assignments according to "IESG Approval with Expert Review" are made on an "IESG Approval" basis per <xref section="4.10" sectionFormat="of" target="BCP26"/> with "Expert Review" additionally required per <xref section="4.5" sectionFormat="of" target="BCP26"/>.</t>
          </li>
        </ul>
        <t>The 10000-64999 range now has two separate registration procedures.
If the registration consists solely of a registered media type name in the "Content Type" field, without any parameter names or "Content Coding", and the media type has not yet been used in this registry, then the policy is FCFS, as before.
In all other cases, the policy is "Expert Review," following the procedure described in <xref target="checks"/>.</t>
        <t>A new column with the title "Notes" has been added to the CoAP Content-Formats Registration Procedures shown in <xref target="tbl-new-cf-proc"/>.</t>
        <t>For the handling of temporary allocations within the 0-255 range see also <xref target="expert-review-7120-exemptions"/>.</t>
      </section>
      <section anchor="new-section-1231-temporary-content-format-registrations">
        <name>New Section 12.3.1 "Temporary Content-Format Registrations"</name>
        <t>This section clarifies that the "CoAP Content-Formats" registry allows temporary registrations within the 0-255, 256-9999, and 10000-64999 ranges.</t>
        <t>A temporary registration may be created for example by an IANA early allocation action <xref target="RFC7120"/>.
If the referenced media type is provisional (that is, included in the IANA "Provisional Standard Media Type" registry <xref target="IANA.provisional-standard-media-types"/>) then a created registration is always temporary.</t>
        <t>A temporary registration is marked as such by IANA in the corresponding registry entry.
Once the required registration procedure (defined in <xref target="tbl-new-cf-proc"/>) for the temporary ID has successfully completed, and the referenced media type is included in the IANA Media Types registry <xref target="IANA.media-types"/>, IANA must remove any indication about the temporary nature of the registration so that the entry becomes permanent.</t>
        <t>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".</t>
        <t>Note that in the 10000-64999 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.</t>
        <t anchor="expert-review-7120-exemptions">Temporary registrations within the 0-255 range are exempt from the formal renewal process outlined in <xref target="RFC7120"/>.
Specifically, IANA will not monitor the removal of registrations in this range.
Instead, the Designated Experts direct IANA to carry out this task.</t>
      </section>
      <section anchor="new-section-1232-adding-the-media-type-column-to-the-registry">
        <name>New Section 12.3.2 "Adding the Media Type Column to the Registry"</name>
        <t>To assist users of the "CoAP Content-Formats" registry in finding detailed information about the media type associated with each CoAP Content-Format, and to ensure that a media type exists before a new entry can be registered, IANA is requested to add a new column "Media Type" to the registry.
This new column is placed directly to the right of the existing "Content Type" column.</t>
        <t>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 IANA "Provisional Standard Media Type" registry <xref target="IANA.provisional-standard-media-types"/>.
If a provisional media type becomes a permanent media type, IANA must update the "Media Type" field in the associated registry entries to ensure the hyperlink directs to the registration information for that media type.</t>
        <t>Note that the registration request procedure remains unchanged. A 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.</t>
      </section>
      <section anchor="checks">
        <name>New Section 12.3.3 "Expert Review Procedure"</name>
        <t>The Designated Expert (DE) is instructed to perform the Expert Review, as described by the following checklist:</t>
        <ol spacing="normal" type="1"><li>
            <t>The combination of content-type and content coding for which the registration is requested must not be already present in the "CoAP Content-Formats" registry;</t>
          </li>
          <li>
            <t>The media type associated with the requested Content-Format must either be registered in the "Media Types" registry <xref target="IANA.media-types"/> or approved for registration. Alternatively, it may be listed in the "Provisional Standard Media Type" registry <xref target="IANA.provisional-standard-media-types"/>. The use of provisional standard media types is only permitted for Content-Format identifiers within the ranges of 0-255 and 256-9999;</t>
          </li>
          <li>
            <t>The optional parameter names must have been defined in association with the media type, and any parameter values associated with such parameter names must be as permitted;</t>
          </li>
          <li>
            <t>The Content Type must be in the preferred format defined in <xref target="preferred-format"/>;</t>
          </li>
          <li>
            <t>If a Content Coding is specified, it must exist (or must have been approved for registration) in the "HTTP Content Coding" registry of the "Hypertext Transfer Protocol (HTTP) Parameters" <xref target="IANA.http-parameters"/>.</t>
          </li>
        </ol>
        <t>For the 0-255 range, in addition to the checks described above, the DE is instructed to also evaluate the requested codepoint concerning the limited availability of the 1-byte codepoint space.
For the 256-9999 range and the 10000-64999 range, a similar criterion may also apply where combinations of media type parameters and content coding choices consume considerable codepoint space.</t>
      </section>
      <section anchor="preferred-format">
        <name>New Section 12.3.4 "Preferred Format for the Content Type Field"</name>
        <t>This section defines the preferred string format for including a requested Content Type into the "CoAP Content-Formats" registry.
During the review process, the Designated Expert(s) or IANA may rewrite a requested Content Type into this preferred string format before approval.</t>
        <t>The preferred string format is as defined in <xref section="8.3.1" sectionFormat="of" target="RFC9110"/> and follows these rules:</t>
        <ol spacing="normal" type="1"><li>
            <t>For any case-insensitive elements, lowercase characters are used.</t>
          </li>
          <li>
            <t>Parameter values are only quoted if the value is such that it requires use of <tt>quoted-string</tt> per <xref section="5.6.6" sectionFormat="of" target="RFC9110"/>.
Otherwise, a parameter value is included unquoted.</t>
          </li>
          <li>
            <t>A single semicolon character without any adjacent whitespace characters is used as the separator between media type and parameters.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document hardens the registration procedures of CoAP Content-Formats in ways that reduce the chances of malicious manipulation of the associated registry.</t>
      <t>Other than that, it does not change the Security Considerations of <xref target="RFC7252"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document updates the IANA procedures defined in <xref target="RFC7252"/> for registering CoAP Content-Formats as described in <xref target="updates"/>.</t>
      <section removeInRFC="true" anchor="temporary-note-removal">
        <name>Temporary Note Removal</name>
        <t>The following note has been added to the registry as a temporary fix:</t>
        <ul empty="true">
          <li>
            <t>"Note: The validity of the combination of Content Coding, Content Type and parameters is checked prior to assignment."</t>
          </li>
        </ul>
        <t>IANA is instructed to remove this note from the registry when this document is approved for publication.
RFC-Editor: please remove this section once the note has been removed.</t>
      </section>
      <section anchor="new-note-addition">
        <name>New Note Addition</name>
        <t>IANA is instructed to add the following note to the registry:</t>
        <ul empty="true">
          <li>
            <t>"Note: As per RFCthis, temporary registrations within the 0-255 range are approved by Designated Experts.
These registrations are not subject to the formal <xref target="RFC7120"/> renewal process."</t>
          </li>
        </ul>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7120">
          <front>
            <title>Early IANA Allocation of Standards Track Code Points</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <date month="January" year="2014"/>
            <abstract>
              <t>This memo describes the process for early allocation of code points by IANA from registries for which "Specification Required", "RFC Required", "IETF Review", or "Standards Action" policies apply. This process can be used to alleviate the problem where code point allocation is needed to facilitate desired or required implementation and deployment experience prior to publication of an RFC, which would normally trigger code point allocation. The procedures in this document are intended to apply only to IETF Stream documents.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="100"/>
          <seriesInfo name="RFC" value="7120"/>
          <seriesInfo name="DOI" value="10.17487/RFC7120"/>
        </reference>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC9110">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes.</t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </reference>
        <reference anchor="RFC9193">
          <front>
            <title>Sensor Measurement Lists (SenML) Fields for Indicating Data Value Content-Format</title>
            <author fullname="A. Keränen" initials="A." surname="Keränen"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Sensor Measurement Lists (SenML) media types support multiple types of values, from numbers to text strings and arbitrary binary Data Values. In order to facilitate processing of binary Data Values, this document specifies a pair of new SenML fields for indicating the content format of those binary Data Values, i.e., their Internet media type, including parameters as well as any content codings applied.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9193"/>
          <seriesInfo name="DOI" value="10.17487/RFC9193"/>
        </reference>
        <reference anchor="BCP26">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.media-types" target="https://www.iana.org/assignments/media-types">
          <front>
            <title>Media Types</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.http-parameters" target="https://www.iana.org/assignments/http-parameters">
          <front>
            <title>Hypertext Transfer Protocol (HTTP) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
        <reference anchor="IANA.provisional-standard-media-types" target="https://www.iana.org/assignments/provisional-standard-media-types">
          <front>
            <title>Provisional Standard Media Type Registry</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="Err4954" target="https://www.rfc-editor.org/errata/eid4954" quoteTitle="false">
          <front>
            <title>RFC Errata Report 4954</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
          <seriesInfo name="RFC" value="7252"/>
        </reference>
        <reference anchor="RFC8141">
          <front>
            <title>Uniform Resource Names (URNs)</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="J. Klensin" initials="J." surname="Klensin"/>
            <date month="April" year="2017"/>
            <abstract>
              <t>A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that is assigned under the "urn" URI scheme and a particular URN namespace, with the intent that the URN will be a persistent, location-independent resource identifier. With regard to URN syntax, this document defines the canonical syntax for URNs (in a way that is consistent with URI syntax), specifies methods for determining URN-equivalence, and discusses URI conformance. With regard to URN namespaces, this document specifies a method for defining a URN namespace and associating it with a namespace identifier, and it describes procedures for registering namespace identifiers with the Internet Assigned Numbers Authority (IANA). This document obsoletes both RFCs 2141 and 3406.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8141"/>
          <seriesInfo name="DOI" value="10.17487/RFC8141"/>
        </reference>
      </references>
    </references>
    <?line 287?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thank you
Amanda Baber,
Carsten Bormann,
Christer Holmberg,
Francesca Palombini,
Marco Tiloca,
and
Rich Salz
for your reviews, comments, suggestions, and fixes.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
