<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-uri-path-abbrev-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Uri-Path-Abbrev">URI-Path abbreviation in CoAP</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-core-uri-path-abbrev-02"/>
    <author initials="C." surname="Amsüss" fullname="Christian Amsüss">
      <organization/>
      <address>
        <postal>
          <country>Austria</country>
        </postal>
        <email>christian@amsuess.com</email>
      </address>
    </author>
    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <workgroup>CoRE</workgroup>
    <keyword>coap</keyword>
    <abstract>
      <?line 38?>

<t>Applications built on CoAP face a conflict between the technical need for short message sizes
and the interoperability requirement of following BCP190
and thus registering (relatively verbose) well-known URI paths.
This document introduces an option that allows expressing well-known paths in as little as two bytes.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-core-uri-path-abbrev/"/>.
      </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/uri-path-abbrev"/>.</t>
    </note>
  </front>
  <middle>
    <?line 45?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>When building application components on CoAP (<xref target="RFC7252"/>),
sending small messages is a general goal in the ecosystem
(i.e., constrained environments, where data rates are limited and large packets can lead to packet loss, see <xref target="RFC7228"/>).
While CoAP can operate with a wide range of URIs,
short path names are therefore favored.</t>
      <t>Those short path names need to be discovered, and <xref target="RFC7252"/> and <xref target="RFC6690"/> provide mechanisms for that.
Applications that can not discover such paths because they precede a discovery step,
such as the discovery itself, setting up a security context (<xref target="RFC9528"/>) or establishing an initial identity (<xref target="RFC9148"/>)
can not rely on discovered short paths,
and need to use well-known paths.
The best practice established in <xref target="BCP190"/>
requires applications to use the prefix ".well-known" for their paths,
making the combined paths easily longer than the rest of the CoAP message.</t>
      <t>This document establishes a CoAP option
that allows abbreviating the path component of the request URI through a numeric registry.</t>
      <section anchor="motivating-example">
        <name>Motivating example</name>
        <t>The design criteria for <xref target="RFC9528"/> described in <xref section="2.11" sectionFormat="of" target="I-D.ietf-lake-reqs-04"/>
give a fragmentation limit of 47 bytes CoAP message payload for 6TiSCH and 51 bytes for some parameters (and implementations) of LoRaWAN,
and high performance penalties of not fitting in those frames.
An EDHOC message 1 on its own carries a minimum of 37 bytes.
The 18 bytes of an encoded "/.well-known/edhoc" path push the size over either limit,
whereas an equivalent Uri-Path-Abbrev stays well below the limit.</t>
      </section>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>This document assumes basic familiarity with CoAP (<xref target="RFC7252"/>),
in particular its Uri-* options.</t>
      </section>
    </section>
    <section anchor="the-uri-path-abbrev-option">
      <name>The Uri-Path-Abbrev option</name>
      <t>The Uri-Path-Abbrev option (short for "URI path, abbreviated") expresses a request's URI path in a more compact form.</t>
      <t>The Uri-Path-Abbrev value represents a particular path,
and is thus equivalent to any number of Uri-Path options.
Those paths are typically in a "/.well-known" location as described in <xref target="RFC8615"/>.
The numeric option values are coordinated by IANA in the Uri-Path-Abbrev registry established in this document in <xref target="iana-reg"/>.</t>
      <table anchor="option-table">
        <name>Uri-Path-Abbrev Option Summary (C = Critical, U = Unsafe, N = NoCacheKey, R = Repeatable)</name>
        <thead>
          <tr>
            <th align="left">No.</th>
            <th align="left">C</th>
            <th align="left">U</th>
            <th align="left">N</th>
            <th align="left">R</th>
            <th align="left">Name</th>
            <th align="left">Format</th>
            <th align="left">Len.</th>
            <th align="left">Default</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">CPA13</td>
            <td align="left">x</td>
            <td align="left"> </td>
            <td align="left"> </td>
            <td align="left"> </td>
            <td align="left">Uri-Path-Abbrev</td>
            <td align="left">uint</td>
            <td align="left">0-4</td>
            <td align="left">(none)</td>
          </tr>
        </tbody>
      </table>
      <t><cref anchor="cpa">RFC-Editor: This document uses the CPA (code point allocation)
  convention described in <xref target="I-D.bormann-cbor-draft-numbers"/>.  For
  each usage of the term "CPA", please remove the prefix "CPA"
  from the indicated value and replace the residue with the value
  assigned by IANA; perform an analogous substitution for all other
  occurrences of the prefix "CPA" in the document.  Finally,
  please remove this note.
  There is one occurrence of the value 13 encoded in <tt>a1270d</tt>,
  which, if the number were to change, would need updating.</cref></t>
      <t>The option is a critical, safe-to-forward, and part of the cache key,
and used in CoAP requests.
<xref target="option-table"/> summarizes these, extending Table 4 of <xref target="RFC7252"/>).
Its OSCORE treatment is as Class E (<xref target="RFC8613"/>).</t>
      <t>The option has an integer value
from the registry established in <xref target="iana-reg"/>.</t>
      <t>Apart from the format and repeatability,
the option's properties only deviate from the Uri-Path (for which it stands in)
in that this option is safe to forward.
This has consequences for the interactions with the Proxy-URI option,
but is generally desirable:
It allows the option to be used with proxies that do not implement the option.</t>
      <section anchor="server-processing">
        <name>Server processing</name>
        <t>A server receiving this option process it like the equivalent sequence of Uri-Path options.</t>
        <t>A server that supports a Uri-Path-Abbrev value
<bcp14>MUST</bcp14> also support the equivalent request composed of Uri-Path components.</t>
        <t>A server receiving the option with an unknown value <bcp14>MUST</bcp14> treat it as an unprocessable critical option,
returning 4.02 Bad Option
(or reject the message<cref anchor="ref52small">This option may go away if <eref target="https://github.com/core-wg/corrclar/issues/52">https://github.com/core-wg/corrclar/issues/52</eref> is resolved before this document is published.</cref>)
and <bcp14>MUST NOT</bcp14> return a 4.04 Not Found response,
because the equivalent path may be present on the server.</t>
        <t>Since clients that use the option are usually aware of the possibility of failure,
there is no need to provide a diagnostic payload in the error (as is generally recommended in <xref section="5.4.1" sectionFormat="of" target="RFC7252"/>).
A machine readable (and, albeit beyond the scope of this document, actionable) response is described in <xref section="3.1.1" sectionFormat="of" target="RFC9290"/>:
the server can set Content-Format 257 in the response and send the payload <tt>a1270d</tt>,
which is the CBOR encoding for the CoAP problem detail "Unprocessed CoAP option" with the value CPA13.</t>
      </section>
      <section anchor="client-processing">
        <name>Client processing</name>
        <t>A client can use the option instead of the Uri-Path option if there is a suitable value that can express the requested path.</t>
        <t>The option <bcp14>SHOULD</bcp14> only be sent when it is known that the server has support for the concrete value.
This knowledge is typically not learned, but follows from other specifications mandating support for it.</t>
        <t>A client can also send a value if it is merely likely that the server supports it.
(The decision threshold varies by application, but generally it's closer to 95% than a mere more-likely-than-not).
This is called "tentative use".</t>
        <t>In that case, the client needs to reliably detect failure of the option,
and to fall back to repeating the request with the Uri-Path spelled out,
to operate reliably.</t>
        <t>There are four possible indications of the option not being supported:</t>
        <ol spacing="normal" type="1"><li>
            <t>A 4.02 Bad Option response.</t>
          </li>
          <li>
            <t>A 5.02 Bad Gateway caused by a proxy that received a RST or lack of response.</t>
          </li>
          <li>
            <t>A RST caused by handling of a Non-confirmable message.</t>
          </li>
          <li>
            <t>Not receiving a response to a Non-confirmable message.</t>
          </li>
        </ol>
        <t><cref anchor="ref52">There is ongoing discussion about whether that behavior is desirable
    at <eref target="https://github.com/core-wg/corrclar/issues/52">https://github.com/core-wg/corrclar/issues/52</eref>.
    In the unlikely case that discussion concludes before this document,
    the 4.02 outcome might be shown as preferred in here and in server processing.</cref></t>
        <t>Some of the complexity of detecting lack of server-side support (items 3 and 4) can be avoided
by not using the option with Non-confirmable requests in tentative use.</t>
        <t>As multicast requests generally do not result in errors being returned,
tentative use is not available for multicast requests.</t>
        <t>A generic client implementation <bcp14>SHOULD NOT</bcp14> use this option
without explicit instructions from a higher layer or the known specification of the numeric value:
Conditions for tentative use are generally not met.</t>
      </section>
      <section anchor="proxy-processing">
        <name>Proxy processing</name>
        <t>A proxy <bcp14>MAY</bcp14> expand or introduce a Uri-Path-Abbrev before consulting its cache.</t>
        <t>It <bcp14>MAY</bcp14> expand a Uri-Path-Abbrev option before forwarding,
in particular if it has reason to assume that the option is not understood.
Like a generic client, it <bcp14>SHOULD NOT</bcp14> introduce an abbreviation without good reason;
and then, it <bcp14>MUST</bcp14> fall back to the expanded form, as to not introduce unexpected errors to the client.</t>
        <t>A proxy that knows Uri-Path-Abbrev but not the concrete value
<bcp14>SHOULD</bcp14> forward it unmodified,
which is the behavior it would apply if it did not know the option.
A reason to reject the request instead is when the proxy is tasked with enforcing access control
(see <xref target="seccons"/>).</t>
        <t>When cross-proxying to protocols that can not transport this option
(such as HTTP),
the proxy needs to expand the path.
<!-- No need to state anything about the inverse direction, as the 2nd paragraph applies. -->
        </t>
      </section>
      <section anchor="interactions">
        <name>Interaction with other options</name>
        <t>The option is mutually exclusive with the Uri-Path option.
Receiving both options in a single request <bcp14>MUST</bcp14> be treated like the presence of a critical request option that could not be processed
(that option being either the Uri-Path-Abbrev option or the conflicting option).</t>
        <t>The Uri-Path-Abbrev option <bcp14>MUST NOT</bcp14> be used in combination with the Proxy-Uri option (or the similar Proxy-CRI option (of <xref target="I-D.ietf-core-href"/>)) by clients.
Proxies that understand Uri-Path-Abbrev and convert Uri-* options into Proxy-Uri <bcp14>MUST</bcp14> expand any Uri-Path-Abbrev if they know the value.</t>
        <t>By the (de)composition rules around Proxy-Uri, and because Uri-Path-Abbrev is safe-to-forward,
a proxy (being generally unaware of this specification) is allowed to combine the option with Proxy-Uri (or Proxy-CRI) when it combines the Uri-* options.
In such a combined message, the Uri-Path segments to which the Uri-Path-Abbrev corresponds are appended to the path as if all components were present as individual options in the request without conflicting.
Servers that support both Uri-Path-Abbrev and Proxy-URI/-CRI <bcp14>SHOULD</bcp14> process requests accordingly.
(This is not a strict requirement, as there are no known implementations of proxies that actually compose a Proxy-URI/-CRI from individual options,
nor is there a reason known why they should).</t>
      </section>
      <section anchor="choice-of-the-option-number">
        <name>Choice of the option number</name>
        <t><cref anchor="removeme">RFC-Editor: Please remove this section during publication.
    It is valuable only to the working group and designated experts who mange the limited resource of option numbers,
    and stays available for future documents that may want to apply similar rationale throughout the draft versions.</cref></t>
        <t>The option's desired properties (critical, safe-to-forward, part of the cache key) limit the available number space
to patterns ending with 0bXXX01 where XXX is not 111.
All options encodable with a short (1+0-byte) delta, i.e. &lt;= 12, are already assigned.
Usually, we'd then look at other options this is typically combined with,
and if there are none (as is the case here),
go for a large value in the next more efficient (1+1-byte) space
so that the small-but-quite-not-1+0-byte numbers stay usable as 1+0-byte options when combined with their "favorite pairs".
(This was done with the EDHOC option which is usually paired with OSCORE).</t>
        <t>However, in this case, there is an extra concern:
The option number should also be smaller than Uri-Query,
so that processing the options in a linear fashion
can happen as it would happen with Uri-Path:
The path gets processed, setting up a state machine to process the query.
As Uri-Query has option number 15, the value 13 is the only good choice for this option.</t>
      </section>
    </section>
    <section anchor="initial">
      <name>Initial Uri-Path-Abbrev values</name>
      <t>This document registers values for the following well-known URIs:</t>
      <ul spacing="normal">
        <li>
          <t><tt>/.well-known/core</tt></t>
        </li>
        <li>
          <t><tt>/.well-known/rd</tt> (see <xref target="RFC9175"/>)</t>
        </li>
        <li>
          <t><tt>/.well-known/edhoc</tt> (see <xref target="RFC9528"/>)</t>
        </li>
        <li>
          <t>For EST (<xref target="RFC9148"/>):
          </t>
          <ul spacing="normal">
            <li>
              <t><tt>/.well-known/est/crts</tt></t>
            </li>
            <li>
              <t><tt>/.well-known/est/sen</tt></t>
            </li>
            <li>
              <t><tt>/.well-known/est/sren</tt></t>
            </li>
            <li>
              <t><tt>/.well-known/est/skg</tt></t>
            </li>
            <li>
              <t><tt>/.well-known/est/skc</tt></t>
            </li>
            <li>
              <t><tt>/.well-known/est/att</tt></t>
            </li>
          </ul>
          <t>
EST does allow using other paths, such as different root resources or arbitrary labels;
for those, no abbreviations are supported in this document.</t>
        </li>
        <li>
          <t>For <xref target="I-D.ietf-anima-constrained-voucher"/>:
          </t>
          <ul spacing="normal">
            <li>
              <t><tt>/.well-known/brski/es</tt></t>
            </li>
            <li>
              <t><tt>/.well-known/brski/rv</tt></t>
            </li>
            <li>
              <t><tt>/.well-known/brski/vs</tt></t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Note that the <tt>core</tt> and <tt>rd</tt> paths are commonly used with Uri-Query options.</t>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>This section records the status of known implementations of the
protocol defined by this specification at the time of posting of
this Internet-Draft, and is based on a proposal described in
<xref target="RFC7942"/>.  The description of implementations in this section is
intended to assist the IETF in its decision processes in
progressing drafts to RFCs.  Please note that the listing of any
individual implementation here does not imply endorsement by the
IETF.  Furthermore, no effort has been spent to verify the
information presented here that was supplied by IETF contributors.
This is not intended as, and must not be construed to be, a
catalog of available implementations or their features.  Readers
are advised to note that other implementations may exist.</t>
      <t>According to <xref target="RFC7942"/>, "this will allow reviewers and working
groups to assign due consideration to documents that have the
benefit of running code, which may serve as evidence of valuable
experimentation and feedback that have made the implemented
protocols more mature.  It is up to the individual working groups
to use this information as they see fit".
<?line -20?>
      </t>
      <ul spacing="normal">
        <li>
          <t>aiocoap <eref target="https://christian.amsuess.com/tools/aiocoap/">https://christian.amsuess.com/tools/aiocoap/</eref>  </t>
          <t>
A general-purpose implementation of CoAP for unconstrained sytems,
published under MIT License.  </t>
          <t>
In its current main branch,
the implementation covers the server side of this specification,
applying expansion automatically before looking up which resource to serve.
For client, all it provides is the option field where to place a number if the application decides it is suitable,
relying on the client application to perform the fallback.  </t>
          <t>
It implements version ietf-core-uri-path-abbrev-01.
Implementation experience:
Generally straightforward
unless one tries to preserve the information whether Uri-Path-Abbrev was used for the server application
(but that was probably just a bad idea in the first place).  </t>
          <t>
Contact information: Christian Amsüss (author), updated 2025-09-26</t>
        </li>
        <li>
          <t>libcoap (preliminary)  </t>
          <t>
A report on a yet unpublished implementaiton and related tests of ietf-core-uri-path-abbrev-01 in libcoap
has been submitted at <eref target="https://github.com/core-wg/uri-path-abbrev/issues/25">https://github.com/core-wg/uri-path-abbrev/issues/25</eref> on 2025-10-01.</t>
        </li>
      </ul>
    </section>
    <section anchor="seccons">
      <name>Security Considerations</name>
      <t>Having alternative expressions for information that is input to policy decisions
can be problematic when the mechanism performing the check has a different interpretation of the presented data than the mechanism at time of use.
That concern is not new to this document:
Both the Proxy-Uri of <xref target="RFC7252"/> and the Proxy-Cri option of <xref target="I-D.ietf-core-href"/> have the same properties in that regard.
The appropriate behavior is for policy checkers to reject any request that contains critical options that is not understood;
the application protected by the checker may provide the checker with an allow-list of options that it will treat as unchecked input.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="iana-option">
        <name>CoAP option: Uri-Path-Abbrev</name>
        <t>IANA is requested to enter an one option into the CoAP Option Numbers registry in the CoRE Parameters group:</t>
        <ul spacing="normal">
          <li>
            <t>Number: CPA13</t>
          </li>
          <li>
            <t>Name: Uri-Path-Abbrev</t>
          </li>
          <li>
            <t>Reference: this document</t>
          </li>
        </ul>
      </section>
      <section anchor="iana-reg">
        <name>Uri-Path-Abbrev registry</name>
        <t>IANA is requested to establish a new registry in the CoRE parameters group:
Values of the first Uri-Path-Abbrev option in a CoAP request correspond to a URI path according to this registry.</t>
        <t>The policy for adding any value is IETF Review (as described in <xref target="RFC8126"/>).
Change control for the registry follows this document's publication stream.
Initial values are given in <xref target="initial-table"/>.</t>
        <t>Entry fields are:</t>
        <ul spacing="normal">
          <li>
            <t>Option value.  </t>
            <t>
An non-negative integer that can be expressed in 32 bits,
unique within this registry.  </t>
            <t>
All positive values whose most significant bit of the most significant byte is 1
are reserved.  </t>
            <t>
The Python invocation
<tt>python3 -c 'print("reserved" if (250).bit_length() % 8 == 0 else "unreserved")'</tt>
can be used to quickly test this property for any positive number (250 in this example).</t>
          </li>
          <li>
            <t>Expanded path.  </t>
            <t>
This text is the URI path (starting with <tt>/</tt>) that the option
is expanded to.</t>
          </li>
          <li>
            <t>Reference.  </t>
            <t>
A document that requested the allocation.</t>
          </li>
        </ul>
        <t>Reviewer instructions:</t>
        <t>The reviewer is instructed to be frugal with the 128 values that correspond to a single-byte value,
focusing on applications that are expected to be useful in different constrained ecosystems.</t>
        <t>The expanded path is expected to be well-known paths at the time of writing,
but it is up to the reviewers to exceptionally also admit paths that are not well-known.</t>
        <table anchor="initial-table">
          <name>Initial values for the Uri-Path-Abbrev registry</name>
          <thead>
            <tr>
              <th align="left">Option value</th>
              <th align="left">Expanded path</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">0</td>
              <td align="left">/.well-known/core</td>
              <td align="left">
                <xref target="initial"/> of this document</td>
            </tr>
            <tr>
              <td align="left">1</td>
              <td align="left">/.well-known/rd</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="RFC9176"/></td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">/.well-known/edhoc</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="RFC9528"/></td>
            </tr>
            <tr>
              <td align="left">301</td>
              <td align="left">/.well-known/est/crts</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="RFC9148"/></td>
            </tr>
            <tr>
              <td align="left">302</td>
              <td align="left">/.well-known/est/sen</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="RFC9148"/></td>
            </tr>
            <tr>
              <td align="left">303</td>
              <td align="left">/.well-known/est/sren</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="RFC9148"/></td>
            </tr>
            <tr>
              <td align="left">304</td>
              <td align="left">/.well-known/est/skg</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="RFC9148"/></td>
            </tr>
            <tr>
              <td align="left">305</td>
              <td align="left">/.well-known/est/skc</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="RFC9148"/></td>
            </tr>
            <tr>
              <td align="left">306</td>
              <td align="left">/.well-known/est/att</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="RFC9148"/></td>
            </tr>
            <tr>
              <td align="left">401</td>
              <td align="left">/.well-known/brski/es</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="I-D.ietf-anima-constrained-voucher"/></td>
            </tr>
            <tr>
              <td align="left">402</td>
              <td align="left">/.well-known/brski/rv</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="I-D.ietf-anima-constrained-voucher"/></td>
            </tr>
            <tr>
              <td align="left">403</td>
              <td align="left">/.well-known/brski/vs</td>
              <td align="left">
                <xref target="initial"/> of this document, and <xref target="I-D.ietf-anima-constrained-voucher"/></td>
            </tr>
          </tbody>
        </table>
        <!-- We could also say in prose to take them from there and list the numbers there, but it is useful for later registrant to have a ready-made template in the document that sets things up. -->

</section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC7228">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Ersue" initials="M." surname="Ersue"/>
            <author fullname="A. Keranen" initials="A." surname="Keranen"/>
            <date month="May" year="2014"/>
            <abstract>
              <t>The Internet Protocol Suite is increasingly used on small devices with severe constraints on power, memory, and processing resources, creating constrained-node networks. This document provides a number of basic terms that have been useful in the standardization work for constrained-node networks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7228"/>
          <seriesInfo name="DOI" value="10.17487/RFC7228"/>
        </reference>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </reference>
        <reference anchor="RFC9528">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a very compact and lightweight authenticated Diffie-Hellman key exchange with ephemeral keys. EDHOC provides mutual authentication, forward secrecy, and identity protection. EDHOC is intended for usage in constrained scenarios, and a main use case is to establish an Object Security for Constrained RESTful Environments (OSCORE) security context. By reusing CBOR Object Signing and Encryption (COSE) for cryptography, Concise Binary Object Representation (CBOR) for encoding, and Constrained Application Protocol (CoAP) for transport, the additional code size can be kept very low.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9528"/>
          <seriesInfo name="DOI" value="10.17487/RFC9528"/>
        </reference>
        <reference anchor="RFC9148">
          <front>
            <title>EST-coaps: Enrollment over Secure Transport with the Secure Constrained Application Protocol</title>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="S. Raza" initials="S." surname="Raza"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>Enrollment over Secure Transport (EST) is used as a certificate provisioning protocol over HTTPS. Low-resource devices often use the lightweight Constrained Application Protocol (CoAP) for message exchanges. This document defines how to transport EST payloads over secure CoAP (EST-coaps), which allows constrained devices to use existing EST functionality for provisioning certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9148"/>
          <seriesInfo name="DOI" value="10.17487/RFC9148"/>
        </reference>
        <referencegroup anchor="BCP190" target="https://www.rfc-editor.org/info/bcp190">
          <reference anchor="RFC8820" target="https://www.rfc-editor.org/info/rfc8820">
            <front>
              <title>URI Design and Ownership</title>
              <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
              <date month="June" year="2020"/>
              <abstract>
                <t>Section 1.1.1 of RFC 3986 defines URI syntax as "a federated and extensible naming system wherein each scheme's specification may further restrict the syntax and semantics of identifiers using that scheme." In other words, the structure of a URI is defined by its scheme. While it is common for schemes to further delegate their substructure to the URI's owner, publishing independent standards that mandate particular forms of substructure in URIs is often problematic.</t>
                <t>This document provides guidance on the specification of URI substructure in standards.</t>
                <t>This document obsoletes RFC 7320 and updates RFC 3986.</t>
              </abstract>
            </front>
            <seriesInfo name="BCP" value="190"/>
            <seriesInfo name="RFC" value="8820"/>
            <seriesInfo name="DOI" value="10.17487/RFC8820"/>
          </reference>
        </referencegroup>
        <reference anchor="I-D.ietf-lake-reqs-04">
          <front>
            <title>Requirements for a Lightweight AKE for OSCORE</title>
            <author fullname="Mališa Vučinić" initials="M." surname="Vučinić">
              <organization>Inria</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Dan Garcia-Carillo" initials="D." surname="Garcia-Carillo">
              <organization>Odin Solutions S.L.</organization>
            </author>
            <date day="8" month="June" year="2020"/>
            <abstract>
              <t>   This document compiles the requirements for a lightweight
   authenticated key exchange protocol for OSCORE.  This draft has
   completed a working group last call (WGLC) in the LAKE working group.
   Post-WGLC, the requirements are considered sufficiently stable for
   the working group to proceed with its work.  It is not currently
   planned to publish this draft as an RFC.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-reqs-04"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space. It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="I-D.bormann-cbor-draft-numbers">
          <front>
            <title>Managing CBOR codepoints in Internet-Drafts</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   CBOR-based protocols often make use of numbers allocated in a
   registry.  During development of the protocols, those numbers may not
   yet be available.  This impedes the generation of data models and
   examples that actually can be used by tools.

   This short draft proposes a common way to handle these situations,
   without any changes to existing tools.  Also, in conjunction with the
   application-oriented EDN literal e'', a further reduction in
   editorial processing of CBOR examples around the time of approval can
   be achieved.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-cbor-draft-numbers-06"/>
        </reference>
        <reference anchor="RFC8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </reference>
        <reference anchor="RFC9290">
          <front>
            <title>Concise Problem Details for Constrained Application Protocol (CoAP) APIs</title>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="October" year="2022"/>
            <abstract>
              <t>This document defines a concise "problem detail" as a way to carry machine-readable details of errors in a Representational State Transfer (REST) response to avoid the need to define new error response formats for REST APIs for constrained environments. The format is inspired by, but intended to be more concise than, the problem details for HTTP APIs defined in RFC 7807.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9290"/>
          <seriesInfo name="DOI" value="10.17487/RFC9290"/>
        </reference>
        <reference anchor="I-D.ietf-core-href">
          <front>
            <title>Constrained Resource Identifiers</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="16" month="October" year="2025"/>
            <abstract>
              <t>   The Constrained Resource Identifier (CRI) is a complement to the
   Uniform Resource Identifier (URI) that represents the URI components
   in Concise Binary Object Representation (CBOR) rather than as a
   sequence of characters.  This approach simplifies parsing,
   comparison, and reference resolution in environments with severe
   limitations on processing power, code size, and memory size.

   This RFC updates RFC 7595 by adding a column on the "URI Schemes"
   registry as well as a note on how that registry cooperates with the
   "CRI Scheme Numbers for Certain Unregistered Scheme Names" registry
   created by the present RFC.


   // (This "cref" paragraph will be removed by the RFC editor:) The
   // present revision -26 is taking on the results from the 2025-10-09
   // IESG telechat (issue #140), by integrating the CRI scheme number
   // column into the URI scheme registry created by RFC 7595 and
   // keeping the URI-Scheme registration process essentially unchanged
   // from the point of view of a registrant that does not have any
   // special requirements on the CRI scheme number assigned.  Also, the
   // cri'' application-extension syntax has been moved to draft-ietf-
   // cbor-edn-literals, which is currently lagging behind in the
   // approval process.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-href-26"/>
        </reference>
        <reference anchor="RFC9175">
          <front>
            <title>Constrained Application Protocol (CoAP): Echo, Request-Tag, and Token Processing</title>
            <author fullname="C. Amsüss" initials="C." surname="Amsüss"/>
            <author fullname="J. Preuß Mattsson" initials="J." surname="Preuß Mattsson"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document specifies enhancements to the Constrained Application Protocol (CoAP) that mitigate security issues in particular use cases. The Echo option enables a CoAP server to verify the freshness of a request or to force a client to demonstrate reachability at its claimed network address. The Request-Tag option allows the CoAP server to match block-wise message fragments belonging to the same request. This document updates RFC 7252 with respect to the following: processing requirements for client Tokens, forbidding non-secure reuse of Tokens to ensure response-to-request binding when CoAP is used with a security protocol, and amplification mitigation (where the use of the Echo option is now recommended).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9175"/>
          <seriesInfo name="DOI" value="10.17487/RFC9175"/>
        </reference>
        <reference anchor="I-D.ietf-anima-constrained-voucher">
          <front>
            <title>Constrained Bootstrapping Remote Secure Key Infrastructure (cBRSKI)</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Peter Van der Stok" initials="P." surname="Van der Stok">
              <organization>vanderstok consultancy</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Esko Dijk" initials="E." surname="Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <date day="18" month="October" year="2025"/>
            <abstract>
              <t>   This document defines the Constrained Bootstrapping Remote Secure Key
   Infrastructure (cBRSKI) protocol, which provides a solution for
   secure zero-touch onboarding of resource-constrained (IoT) devices
   into the network of a domain owner.  This protocol is designed for
   constrained networks, which may have limited data throughput or may
   experience frequent packet loss. cBRSKI is a variant of the BRSKI
   protocol, which uses an artifact signed by the device manufacturer
   called the "voucher" which enables a new device and the owner's
   network to mutually authenticate.  While the BRSKI voucher data is
   encoded in JSON, cBRSKI uses a compact CBOR-encoded voucher.  The
   BRSKI voucher data definition is extended with new data types that
   allow for smaller voucher sizes.  The Enrollment over Secure
   Transport (EST) protocol, used in BRSKI, is replaced with EST-over-
   CoAPS; and HTTPS used in BRSKI is replaced with DTLS-secured CoAP
   (CoAPS).  This document Updates RFC 8995 and RFC 9148.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-constrained-voucher-29"/>
        </reference>
        <reference anchor="RFC7942">
          <front>
            <title>Improving Awareness of Running Code: The Implementation Status Section</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="A. Farrel" initials="A." surname="Farrel"/>
            <date month="July" year="2016"/>
            <abstract>
              <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
              <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="205"/>
          <seriesInfo name="RFC" value="7942"/>
          <seriesInfo name="DOI" value="10.17487/RFC7942"/>
        </reference>
        <reference anchor="RFC8126">
          <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="RFC9176">
          <front>
            <title>Constrained RESTful Environments (CoRE) Resource Directory</title>
            <author fullname="C. Amsüss" initials="C." role="editor" surname="Amsüss"/>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="M. Koster" initials="M." surname="Koster"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>In many Internet of Things (IoT) applications, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources. The input to an RD is composed of links, and the output is composed of links constructed from the information stored in the RD. This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9176"/>
          <seriesInfo name="DOI" value="10.17487/RFC9176"/>
        </reference>
        <reference anchor="RFC8790">
          <front>
            <title>FETCH and PATCH with Sensor Measurement Lists (SenML)</title>
            <author fullname="A. Keränen" initials="A." surname="Keränen"/>
            <author fullname="M. Mohajer" initials="M." surname="Mohajer"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>The Sensor Measurement Lists (SenML) media type and data model can be used to send collections of resources, such as batches of sensor data or configuration parameters. The Constrained Application Protocol (CoAP) FETCH, PATCH, and iPATCH methods enable accessing and updating parts of a resource or multiple resources with one request. This document defines new media types for the CoAP FETCH, PATCH, and iPATCH methods for resources represented using the SenML data model.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8790"/>
          <seriesInfo name="DOI" value="10.17487/RFC8790"/>
        </reference>
      </references>
    </references>
    <?line 412?>

<section anchor="further-development">
      <name>Further development</name>
      <t>Several possible further directions are anticipated in this document,
but not specified at this point in time;
they are left for further documents that update and thus compatibly extend this document.</t>
      <t>In any case, server implementations that treat unknown option values or repeated Uri-Path-Abbrev options
like any other critical unprocessable option (i.e., by responding with 4.02 Bad Option)
support the transition to such an extension.
<!-- It'd be great to state "this is already required in 7252", but it only implies that and doesn't make it explicit. -->
      </t>
      <ul spacing="normal">
        <li>
          <t>Some values of the option might admit repetition of the option.
A document that updates this document and the Uri-Path-Abbrev registry will need to specify
how later occurrences of the option
extend the series of equivalent Uri-Path options from the first value,
or defer some of that decision to that first value's entry.</t>
        </li>
        <li>
          <t>The mechanism of expanding one option into another option
might be expressed using the terminology of SCHC.  </t>
          <t>
Such a generalization is not aimed for in this document;
authors of any future document providing such a framework
are encouraged to provide an equivalent but machine-readable explanation of the mechanism specified here.</t>
        </li>
        <li>
          <t>The registry for Uri-Path-Abbrev values is set up such that first values can not have the most significant bit of the first byte set.  </t>
          <t>
This allows future documents to reuse the option for any CBOR expressions,
e.g. the path component of a CRI <xref target="I-D.ietf-core-href"/>.
Note that those CBOR structures can only use the major types 4 to 7 for the top-level item,
but that includes all containers (arrays, maps and tags).  </t>
          <t>
Senders and recipients of this option do not need to concern themselves with that extension mechanism
unless they implement it:
As the first value is compared to known registry entries,
any CBOR item contained in it will simply not match any known value.
Should the working group decide not to use that extension point,
the registry's policy can be relaxed to also allow values with that leading bit set.</t>
        </li>
        <li>
          <t>A future document may update this document
to allow registering values that are allowed to use together with Uri-Path values
(but at the time of writing, no examples are known by which such a design could be properly vetted).
In particular, that update weakens the "<bcp14>MUST</bcp14>" in <xref target="interactions"/>.</t>
        </li>
        <li>
          <t>This option is designed to stand in for the Uri-Path option alone,
not for any other option;
this simplifies its interaction rules.  </t>
          <t>
In particular,
application authors who seek to express Uri-Query options in a more concise or easier to process way
are advised to avail themselves of the FETCH method introduced in <xref target="RFC8790"/>.</t>
        </li>
      </ul>
    </section>
    <section anchor="change-log">
      <name>Change log</name>
      <t>Since ietf-core-uri-path-abbrev-01: Processing WGA review input and cleanup.</t>
      <ul spacing="normal">
        <li>
          <t>Using Uri-Path-Abbrev without knowing it will be supported now has a term ("tentative use") and was reworded.</t>
        </li>
        <li>
          <t>The "<bcp14>SHOULD</bcp14>" to support fallback mode was lifted to "<bcp14>SHOULD</bcp14> only be [used when the server is known to support it]",
with the recovery being a factual necessity for reliability in tentative use.</t>
        </li>
        <li>
          <t>The fallback detection was extended to account for possible reactions to NONs (namely, RST, not replying at all, and 5.02).</t>
        </li>
        <li>
          <t>Use with multicast was limited to non-tentative use.</t>
        </li>
        <li>
          <t>Added reference to libcoap work.</t>
        </li>
        <li>
          <t>Added pointer to RFC9290 (Problem Details) error messages, discouraging diagnostic payloads.</t>
        </li>
        <li>
          <t>Sections on future work were unified in the appendix.</t>
        </li>
        <li>
          <t>Appendix on open questions was moved into the issue tracker at <eref target="https://github.com/core-wg/uri-path-abbrev/issues/">https://github.com/core-wg/uri-path-abbrev/issues/</eref>.</t>
        </li>
        <li>
          <t>Cleanup of IANA considerations where -01 previous changes were not accounted for.</t>
        </li>
        <li>
          <t>"Choice of option number" spelled out and set up for removal before publication.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
      </ul>
      <t>Since ietf-core-uri-path-abbrev-00: Processing previous two interims.</t>
      <ul spacing="normal">
        <li>
          <t>Rename option to Uri-Path-Abbrev.</t>
        </li>
        <li>
          <t>Allocate per-resource codes for EST and cBRSKI.</t>
        </li>
        <li>
          <t>Allocate code for EDHOC.</t>
        </li>
        <li>
          <t>Defer repeated use to future extensions.</t>
        </li>
        <li>
          <t>Rearrange content to have dedicated server, client and proxy subsections for option processing.</t>
        </li>
        <li>
          <t>Establish that generic clients <bcp14>SHOULD NOT</bcp14> use this without reason.</t>
        </li>
        <li>
          <t>More explicit language for proxies, including cross-proxies.</t>
        </li>
        <li>
          <t>Add introduction and motivating example.</t>
        </li>
        <li>
          <t>Add RFC7942 Implementation Status section.</t>
        </li>
      </ul>
      <t>Since draft-amsuess-core-shopinc-02:</t>
      <t>Adopted into WG unmodified as I-D.ietf-core-uri-path-abbrev</t>
      <t>Since draft-amsuess-core-shopinc-01: Processing 2025-08-27 interim.</t>
      <ul spacing="normal">
        <li>
          <t>Document is standards track.</t>
        </li>
        <li>
          <t>Change name of the option from Short-Uri-Path to Uri-Path-Abbr.</t>
        </li>
        <li>
          <t>Close question of whether use of option 13 is justified (it is).</t>
        </li>
        <li>
          <t>Minor editorials.</t>
        </li>
      </ul>
      <t>Since draft-amsuess-core-shopinc-00:</t>
      <ul spacing="normal">
        <li>
          <t>Switched option type from opaque to uint (retaining the lockout for values that look like CBOR arrays/maps).</t>
        </li>
        <li>
          <t>MCR joined as author.</t>
        </li>
        <li>
          <t>Added initial values for BRSKI and EST.</t>
        </li>
        <li>
          <t>Allow 4.04 responses.</t>
        </li>
        <li>
          <t>Add guidance for choosing prefixes and rules.</t>
        </li>
        <li>
          <t>Large editorial changes.</t>
        </li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document was created out of discussion with Esko Dijk and Michael Richardson.
Carsten Bormann provided useful input on shaping the registry.
Jon Shallow provided much input, in particular around gaps in the fallback process.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7V86XYcR3Lu/3qKNHR8CHC6mwAIihIkagYCqRFtbgYoa+aM
ZbO6Krs7heqqnsoqgG2K73If5P6698UcX0Rk1tIAJdnHOocCUEsukbF8sdV0
Ok0a1xT21Oz9cPF8+iZtViadz2t77dLGVaVxpTmvzt7sJXIVz9WOn5ue8ZW9
JEsbu6zq7anxTZ4keZWV6ZpGzOt00UydbRbTrKrttKUXN3hRhpoeHie+na+d
9zRRs93QK8+fvf0uKdv13NanSU7jniZZVXpb+tafmqZubUJLeJjcVPXVsq7a
zSmt7uJZcmW3dCk/TczUZFW6Sa5t2dLLxsSnSt/UqSttbi6eXb5dtIV5Vl67
uirXtmw8PblOXXFqsNI/Yc2zql7ifdes2rlcn94sH4w2kSRp26wqWu2UHnYl
rfJ8Zs7W/v//X49BhRLnq9r5xqVl705WtWUDop21tDKX0iWrSwhP/yld+9Z6
P8uqdZJMZfiXM3PhslVa574q4wwvcckWw1u0g1NzmZa5LdY092W1aG7S2pof
iXq+m2+d1X/Ajv/kw6OzLE2SsqrXxAPXRMbElYveX7PZjJYznRKngKhZkyRn
m03hMmYZb+atKxpTCeeYRZpZk9J+ywU90pi5bW6sLU2zsqax2aqk9wpTWjoZ
msR4omZj1rTtdGmNd/9pfULr4sdd2di62tg6nbvCNVtT27+3rrY4QlMt6P2i
qG5cuTTfnr85+vJQX2w9Pbgkmtoa9/ZrW/BWiq25tvW88vbA3NiimF6V1U1p
SBAMjtjPkrcr5w0xdMsz0PR1lbeZ9YbIWW1YQJpV2pgU83pj329qWjgm6Y3H
Y0GQUm9o1SRt+K25qcx821ivtFy7PC9sknxmnus0GD5JflwRrUDRHMOmHZ2J
outNVYJ7I633P3z4h4vvzh8fPzr++PFgkpDk8Gt+TSsMRKW10AbM0pZEyMIs
K/qfk/OwWeW3RKd1su9mdjbBqUW5sT15mZiblSVWIhlNTU2CSiPSn4Vbu4Ye
Bd2LtKYD3KTZlaUVZkSxwqZ0HJVeM0XlaRxvrfnw4Y+86uMvaNUz2rIjGvGG
Mia0xQzmxkE50Y/c0pQlDU5HToflaZ/MNCA0y4MspsEKiaUsseA1/ciJ0m9X
dNpm53HmPlrZnHbkfFYRW9h8wtv48CESVP/GWj///MtDurCpq2ssZ018nJbO
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

-->

</rfc>
