<?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-amsuess-core-shopinc-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.0 -->
  <front>
    <title abbrev="ShoPinC">Short Paths in CoAP</title>
    <seriesInfo name="Internet-Draft" value="draft-amsuess-core-shopinc-00"/>
    <author initials="C." surname="Amsüss" fullname="Christian Amsüss">
      <organization/>
      <address>
        <postal>
          <country>Austria</country>
        </postal>
        <email>christian@amsuess.com</email>
      </address>
    </author>
    <date year="2025" month="July" day="23"/>
    <workgroup>CoRE</workgroup>
    <keyword>coap</keyword>
    <abstract>
      <?line 33?>

<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-amsuess-core-shopinc/"/>.
      </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/chrysn/shopinc"/>.</t>
    </note>
  </front>
  <middle>
    <?line 40?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>[ This is a -00, please read the abstract. ]</t>
      <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-short-uri-path-option">
      <name>The Short-Uri-Path option</name>
      <t>The Short-Uri-Path option expresses a request's URI path in a more compact form.</t>
      <t>The Short-Uri-Path option 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 option values are coordinated by IANA in the Short-Uri-Path registry established in this document.</t>
      <t>A client may use the option instead of the Uri-Host option if there is a suitable value that can express the requested path.
Unless the client can be assured that the server supports it
(e.g. because the specification describing the interaction mandates support for the option in the server)
it <bcp14>SHOULD</bcp14> fall back to sending the path explicitly if it receives an error indicating that the option was not understood
(otherwise, it would have limited interoperability).</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
and <bcp14>MUST NOT</bcp14> return a 4.04 Not Found response,
because the equivalent path may be present on the server.
A server that supports a Short-Uri-Path value
<bcp14>MUST</bcp14> also support the equivalent request composed of Uri-Path components.</t>
      <figure anchor="option-table">
        <name>Short-Uri-Path Option Summary</name>
        <artwork align="center"><![CDATA[
+--------+---+---+---+---+----------------+--------+------+---------+
| No.    | C | U | N | R | Name           | Format | Len. | Default |
+--------+---+---+---+---+----------------+--------+------+---------+
| CPA13  | x |   |   | x | Short-Uri-Path | opaque | any  | (none)  |
+--------+---+---+---+---+----------------+--------+------+---------+

      C = Critical, U = Unsafe, N = NoCacheKey, R = Repeatable
]]></artwork>
      </figure>
      <t><cref anchor="cpa">RFC-Editor: This document uses the CPA (code point allocation)
  convention described in [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.</cref></t>
      <t>The Short-Uri-Path option
has an opaque value.
It is a critical and safe-to-forward option that is part of the cache key,
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>These properties only deviate from the Uri-Path (for which it stands in)
in that this option is safe to forward.
This has unfortunate 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>
      <t>A proxy <bcp14>MAY</bcp14> expand or introduce a Short-Uri-Path when forwarding a request,
in particular for serving cached responses,
as long as this introduces no new errors to the client.</t>
      <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> treated like the presence of a critical request option that could not be processed
(that option being either the Short-Uri-Path option or the conflicting option).</t>
        <t>The Short-Uri-Path 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,
and proxies that convert Uri-* options into Proxy-Path <bcp14>MUST</bcp14> expand any Short-Uri-Path if they know the value.
By the (de)composition rules of Proxy-Uri and Short-Uri-Path being safe-to-forward,
a proxy 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 Short-Uri-Path corresponds are appended to the path as if all components were present as individual options in the request without conflicting.
Servers that support both Short-Uri-Path 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 ).</t>
      </section>
      <section anchor="repeated-use">
        <name>Repeated use</name>
        <t>If the document defining the registered value of the first Short-Uri-Path option allows it,
further Short-Uri-Path options may be added after that.
Their value is not expanded through the Short-Uri-Path IANA registry,
but according to rules set up in that particular registration.
To be implementable on a wide variety of platforms,
those rules should allow expansion into Uri-Path options in an iterative way
(i.e., any added Short-Uri-Path option corresponds only to appended Uri-Path options,
or cause a 4.02 Bad Option error).</t>
        <t>Examples of rules are:</t>
        <ul spacing="normal">
          <li>
            <t>Options after the first are treated exactly like Uri-Path options.</t>
          </li>
          <li>
            <t>There can be only one added Short-Uri-Path option,
and its opaque value is looked up in a table shaped like the Short-Uri-Path IANA registry.</t>
          </li>
        </ul>
      </section>
      <section anchor="choice-of-the-option-number">
        <name>Choice of the option number</name>
        <t>TBD: Rephrase this to either be useful for readers of the final document
who can thus learn how the option number namespace is managed,
or remove before publication.</t>
        <ul empty="true">
          <li>
            <t>It's already 1+1 -- we generally do try to keep even the 1+1 high so
that later option typically paired with a low option (like EDHOC
paired with OSCORE) can use the small delta. In this case, there's a
good reason (being ordered before Uri-Query) though, and I don't
expect that any other option would need this particular property
(especially given that this option on its own has an extensible value
range).</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="initial">
      <name>Initial Short-Uri-Path 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>
      </ul>
      <t>TBD: Ask BRSKI for a description</t>
      <t>For none of these, the repeated use of the option is specified;
note that both are commonly used with Uri-Query options.</t>
    </section>
    <section anchor="security-considerations">
      <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="coap-option-short-uri-path">
        <name>CoAP option: Short-Uri-Path</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: Short-Uri-Path</t>
          </li>
          <li>
            <t>Reference: this document</t>
          </li>
        </ul>
      </section>
      <section anchor="short-uri-path-registry">
        <name>Short-Uri-Path registry</name>
        <t>IANA is requested to establish a new registry in the CoRE parameters group:
Values of the first Short-Uri-Path 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.</t>
        <t>Entry fields are:</t>
        <ul spacing="normal">
          <li>
            <t>First option value.  </t>
            <t>
An arbitrary length byte sequence given in hexadecimal format;
this value needs to be unique within this registry.  </t>
            <t>
The most significant bit of the first byte can not be 1.
<!-- And the sequence may be empty, but that is a value we already register, do we really have to spell that out? -->
            </t>
          </li>
          <li>
            <t>Simple expanded path.  </t>
            <t>
This text is the URI path (starting with <tt>/</tt>) that the option,
when present only once in a request,
is expanded to.  </t>
            <t>
This field may be empty if the document describes that the option needs to be repeated when using this first value.</t>
          </li>
          <li>
            <t>Reference.  </t>
            <t>
A document that requested the allocation,
and describes whether the option may be repeated after this first value,
and how later values are expanded</t>
          </li>
        </ul>
        <t>Reviewer instructions:</t>
        <t>The reviewer is instructed to be frugal with the 128 single-byte values,
focusing on applications that are expected to be useful in different constrained ecosystems.</t>
        <t>The expanded path (or paths) are 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>
        <t>If the registration foresees updates,
those should always just allow previously unacceptable values into new path segments,
and not alter the semantics of previously valid expansions.</t>
        <section anchor="initial-values">
          <name>Initial values</name>
        </section>
      </section>
      <section anchor="first-option-value-simple-expanded-path-reference">
        <name>First option value | Simple expanded path | Reference</name>
        <t>(empty)            | /.well-known/core    | <xref target="initial"/> of this document
00                 | /.well-known/rd      | <xref target="initial"/> of this document, and <xref target="RFC9176"/></t>
        <!-- We could also say in prose to take them from there and have the bytes 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="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>
        <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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="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="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="7" month="July" 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 to add a note on how the "URI Schemes"
   registry of RFC 7595 cooperates with the "CRI Scheme Numbers"
   registry created by the present RFC.


   // (This "cref" paragraph will be removed by the RFC editor:) The
   // present revision –23 attempts to address the AD review comments;
   // it is submitted right before the I-D deadline in order to serve as
   // discussion input to IETF 123 even though not all discussions have
   // completed.  In particular, the updated handling of zone
   // identifiers requires some additional scrutiny.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-href-23"/>
        </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="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 262?>

<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:</t>
      <ul spacing="normal">
        <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 Short-Uri-Path 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 strucutres 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 an opaque value 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 exension 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="open-questions">
      <name>Open questions</name>
      <t>This section will be gone by the time this document is published.</t>
      <ul spacing="normal">
        <li>
          <t>Do we want to enable the use of Uri-Query with this option?  </t>
          <t>
If so, we need option number 13,
or put what the author regards as unreasonable requirements on recipients.  </t>
          <t>
In particular, the .well-known/core resource that is attractive for compression is commonly used with Uri-Query options,
and it also works well for /.well-known/rd.  </t>
          <t>
The alternative is to use a higher number (still 1+1 but less precious), eg. 267.</t>
        </li>
        <li>
          <t>Is the transformation of separate options to Proxy-URI even <em>legal</em> for proxies?  </t>
          <t>
If not, we can simplify the handling (and Uri-Path would <em>reall</em> not have needed to be proxy-unsafe).</t>
        </li>
        <li>
          <t>This document might incentivise users to send more traffic through /.well-known/ paths,
rather than go through discovery.
It is up to WG discussion to decide whether this is desirable;
to not make this document depend on that outcome,
the registration policy is currently "IETF Review",
which is extremely strict and can be relaxed in a later document if the WG decides so.</t>
        </li>
        <li>
          <t>Do we want to add /.well-known/edhoc here, or rather fix it by updating the EDHOC option to also work without an OSCORE option?  </t>
          <t>
(The author prefers the latter).</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.
Care to become authors?</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61b3XLbRrK+x1PMyhcr2iRtOU6cKHG8Mi2vVetYXkk+W1tJ
TnkIDMmJQACLAURxFe2z7IOcq3Ne7HzdPTMAKMWVi1VZJRI/M9M93V9/3T2e
TCZJY5vcHKq981VZN+qDblZO2ULNyqMPe4mez2tzJXc/2GK2l6S6Mcuy3h7i
oUWZJFmZFnqNAbJaL5qJXrvWODdJy9pM3KqsbJFOnjxJXDtfW+dsWTTbCk+f
HF+8SYp2PTf1YZJhzMMkLQtnCte6Q9XUrUkw7RfJpqwvl3XZVodY0dlxcmm2
uJQdJmqi0lJXyZUpWrysVHyqcE2tbWEydXZ8frFoc3VcXNm6LNamaByeXGub
Hypa4Z+saRbTsl7S+7ZZtXNcX9VbVzz2a08S3TbQzGEywTO2wOJmU3W0dv/3
P47GEtlnq9q6xuqidyct26IhPR21WJDVuGT8zOHpP3ltTdNynSRFWa91Y68g
TUK67b5Np9MkmUwmSs9JtrRJkqOqyi32Agp1at7avFGlbJpa6NQojfmLBR5p
1Nw0G2MK1ayMaky6KvBergoDBWES5Xjf11iGXhrl7D+NS3SR8eO2aExdVqbW
c5vbZqtq84/W1oY0qcoF3s/zcmOLpXo1+3DwzRP/Yuvw4BIympru7dcmZ1Hy
rboy9bx0ZqQ2Js8nl0W5KdTHsxNVkd1Nk4uVdQom1fIMmL4uszY1TkG1ZUXS
YnjdKE3zOmWuqxoLp0l641XBhrVTWDXMmz41m1LNt41xXpdrm2W5SZIH6sRP
Q8MnyU8/Kl4F/mkF0x2rKjfaGYikRSthF6bqp5/x/gOyOZih7AVp4LVZ2MLy
9wQiGQWrVWS2Tu398PH8Ym8sf9X7U/58dvzXjydnx6/p8/nbo3fv4ofEP3H+
9vTju9fdp+7N2ekPPxy/fy0v46oaXEr2fjj6O+7QqvZOP1ycnL4/erdHumkG
mtY1bAP68VsOrTYwD+2SzLi0tnN8wTvY5P/998EzdXPzh7M3s6cHB9/c3vov
Xx88f4Yvm5UpZLaywG7LV+hsm+iqMrrmXclzlerKNjp3Y9oZWCB2bWVqg615
+CNp5udD9d08rQ6efe8vkMCDi0Fng4uss7tX7rwsSrzn0j3TRG0Oru9oerje
o78Pvge99y5+9zIHQqnJwdcvv0+SHbPXzuED3Fo7m8Kd1/A9XZP7bYBR4uT7
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

-->

</rfc>
