<?xml version="1.0" encoding="UTF-8"?>

<!-- draft submitted in xml v3 -->

<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.1 (Ruby 3.2.2) -->

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-target-attr-06" number="9423" submissionType="IETF" category="info" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" updates="" obsoletes="" xml:lang="en" version="3">

  <!-- xml2rfc v2v3 conversion 3.18.1 -->
  <front>
    <title abbrev="CoRE Target Attributes Registry">Constrained RESTful Environments (CoRE) Target Attributes Registry</title>

    <seriesInfo name="RFC" value="9423"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2024" month="April"/>
    <area>art</area>
    <workgroup>core</workgroup>

<keyword>CoAP</keyword>
<keyword>Web Linking</keyword>
<keyword>Resource Discovery</keyword>

    <abstract>
<t>The Constrained RESTful Environments (CoRE) specifications apply web
technologies to constrained environments.
One such important technology is Web Linking (RFC 8288), which CoRE
specifications use as the basis for a number of discovery protocols, such as the
Link Format (RFC 6690) in the Constrained Application Protocol's (CoAP's) resource discovery process (Section 7.2
of RFC 7252) and the Resource Directory (RD) (RFC 9176).
</t>
      <t>Web Links can have target attributes, the names of which are not
generally coordinated by the Web Linking specification (Section 2.2 of
RFC 8288).
This document introduces an IANA registry for coordinating names of target
attributes when used in CoRE.
It updates the "RD Parameters" IANA registry created by RFC 9176 to coordinate with
this registry.</t>
    </abstract>
  </front>
  <middle>
<section anchor="intro">
      <name>Introduction</name>
      <t>The Constrained RESTful Environments (CoRE) specifications apply web
technologies to constrained environments.
One such important technology is Web Linking <xref target="RFC8288"/>, which CoRE
specifications use as the basis for a number of discovery protocols, such as the
Link Format <xref target="RFC6690"/> in the Constrained Application Protocol's (CoAP's) resource discovery process (<xref section="7.2" sectionFormat="of" target="RFC7252"/>) and the Resource Directory (RD)
<xref target="RFC9176"/>.</t>
      <t>Web Links can have target attributes.
The original Web Linking specification (<xref section="3" sectionFormat="of" target="RFC5988"/>) did not attempt
to coordinate names of target attributes except for providing common
target attributes for use in the Link HTTP header.
The current revision of that specification (<xref section="2.2" sectionFormat="of" target="RFC8288"/>) clarifies as follows:</t>
      <blockquote>
        <t>This specification does not attempt to coordinate the name of target
   attributes, their cardinality, or use.  Those creating and
   maintaining serialisations <bcp14>SHOULD</bcp14> coordinate their target attributes
   to avoid conflicts in semantics or syntax and <bcp14>MAY</bcp14> define their own
   registries of target attributes.</t>
      </blockquote>
      <t>This document introduces an IANA registry for coordinating names of target
attributes when used in CoRE, with
specific instructions for the designated expert for this registry (<xref target="de-instructions"/>).
It updates the "RD Parameters" IANA registry created by <xref target="RFC9176"/> to coordinate with
this registry.</t>
      <t>With this registry now available, registration of target attributes is strongly encouraged.
The incentive is that an unregistered attribute name might be registered with a different meaning at any time.</t>
      <section anchor="terminology">
        <name>Terminology</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&nbsp;14
       <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
       when, they appear in all capitals, as shown here.</t>
</section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>Per this specification, IANA has created a new "Target Attributes" registry in
the "Constrained RESTful Environments (CoRE) Parameters" registry group <xref target="IANA.core-parameters"/>, with the policy
"Expert Review" (Section <xref section="4.5" sectionFormat="bare" target="RFC8126"/> of RFC 8126 <xref target="BCP26"/>).</t>
      <section anchor="de-instructions">
        <name>Instructions for the Designated Expert</name>
        <t>The expert is requested to guide the registrant towards reasonably
short target attribute names where the shortness will help conserve
resources in constrained systems, but to also be frugal in the
allocation of very short names, keeping them in reserve for
applications that are likely to enjoy wide use and can make good use
of their shortness.</t>
        <t>The expert is also instructed to direct the registrant to provide a
specification (Section <xref section="4.6" sectionFormat="bare" target="RFC8126"/> of RFC 8126 <xref target="BCP26"/>) but can make exceptions --
for instance, when a specification is not available at the time of
registration but is likely forthcoming.</t>
        <t>Any questions or issues that might interest a wider audience might be
raised by the expert on the core-parameters@ietf.org mailing list for
a time-limited discussion.
This might include security considerations, or opportunities for
orchestration, e.g., when different names with similar intent are
being or could be registered.</t>
        <t>If the expert becomes aware of target attributes that are deployed and
in use, they may also initiate a registration on their own if
they deem that such a registration can avert potential future collisions.</t>
      </section>
      <section anchor="structure-of-entries">
        <name>Structure of Entries</name>
        <t>Each entry in the registry must include the following:</t>
        <dl newline="true">
          <dt>Attribute Name:</dt>
          <dd>
            <t>A lowercase ASCII string <xref target="STD80"/> that starts with a letter and can
contain digits and hyphen-minus characters afterward
(<tt>[a-z][-a-z0-9]*</tt>).
(Note that <xref target="RFC8288"/> requires target attribute names to be
interpreted in a case-insensitive way; the restriction to lowercase
here ensures that they are registered in a predictable form.)</t>
          </dd>
          <dt>Brief Description:</dt>
          <dd>
            <t>A brief description.</t>
          </dd>
          <dt>Change Controller:</dt>
          <dd>
            <t>See Section <xref section="2.3" sectionFormat="bare" target="RFC8126"/> of RFC 8126 <xref target="BCP26"/>.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>A reference document that provides a description of the target
attribute, including the semantics for when the target attribute
appears more than once in a link.</t>
          </dd>
        </dl>
      </section>
      <section anchor="initial-entries">
        <name>Initial Entries</name>
        <t>Initial entries in this registry are listed in <xref target="pre-reg"/>.</t>
        <table anchor="pre-reg">
          <name>Initial Entries in the Target Attributes Registry</name>
          <thead>
            <tr>
              <th align="left">Attribute Name</th>
              <th align="left">Brief Description</th>
              <th align="left">Change Controller</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">href</td>
              <td align="left">reserved (not useful as target attribute name)</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref target="RFC6690"/></td>
            </tr>
            <tr>
              <td align="left">anchor</td>
              <td align="left">reserved (not useful as target attribute name)</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref target="RFC6690"/></td>
            </tr>
            <tr>
              <td align="left">rel</td>
              <td align="left">reserved (not useful as target attribute name)</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref target="RFC6690"/></td>
            </tr>
            <tr>
              <td align="left">rev</td>
              <td align="left">reserved (not useful as target attribute name)</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref target="RFC6690"/></td>
            </tr>
            <tr>
              <td align="left">hreflang</td>
              <td align="left">(Web Linking)</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref target="RFC8288"/></td>
            </tr>
            <tr>
              <td align="left">media</td>
              <td align="left">(Web Linking)</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref target="RFC8288"/></td>
            </tr>
            <tr>
              <td align="left">title</td>
              <td align="left">(Web Linking)</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref target="RFC8288"/></td>
            </tr>
            <tr>
              <td align="left">type</td>
              <td align="left">(Web Linking)</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref target="RFC8288"/></td>
            </tr>
            <tr>
              <td align="left">rt</td>
              <td align="left">resource type</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="3.1" sectionFormat="of" target="RFC6690"/></td>
            </tr>
            <tr>
              <td align="left">if</td>
              <td align="left">interface description</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="3.2" sectionFormat="of" target="RFC6690"/></td>
            </tr>
            <tr>
              <td align="left">sz</td>
              <td align="left">maximum size estimate</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="3.3" sectionFormat="of" target="RFC6690"/></td>
            </tr>
            <tr>
              <td align="left">ct</td>
              <td align="left">Content-Format hint</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="7.2.1" sectionFormat="of" target="RFC7252"/></td>
            </tr>
            <tr>
              <td align="left">obs</td>
              <td align="left">observable resource</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="6" sectionFormat="of" target="RFC7641"/></td>
            </tr>
            <tr>
              <td align="left">hct</td>
              <td align="left">HTTP-CoAP URI mapping template</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="5.5" sectionFormat="of" target="RFC8075"/></td>
            </tr>
            <tr>
              <td align="left">osc</td>
              <td align="left">hint: resource only accessible using OSCORE</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="9" sectionFormat="of" target="RFC8613"/></td>
            </tr>
            <tr>
              <td align="left">ep</td>
              <td align="left">Endpoint Name (with rt="core.rd-ep")</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="9.3" sectionFormat="of" target="RFC9176"/></td>
            </tr>
            <tr>
              <td align="left">d</td>
              <td align="left">Sector (with rt="core.rd-ep")</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="9.3" sectionFormat="of" target="RFC9176"/></td>
            </tr>
            <tr>
              <td align="left">base</td>
              <td align="left">Registration Base URI (with rt="core.rd-ep")</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="9.3" sectionFormat="of" target="RFC9176"/></td>
            </tr>
            <tr>
              <td align="left">et</td>
              <td align="left">Endpoint Type (with rt="core.rd-ep")</td>
              <td align="left">IETF</td>
              <td align="left">
                <xref section="9.3" sectionFormat="of" target="RFC9176"/></td>
            </tr>
          </tbody>
        </table>
        <t>A number of names are reserved, as they are used for parameters in
links other than target attributes.
A further set of target attributes is predefined in <xref target="RFC8288"/> and is
imported into this registry.</t>
        <t><xref section="9.3" sectionFormat="of" target="RFC9176"/> created the "RD Parameters" IANA registry.
Per this document, IANA has added the following note to that registry:</t>
            <blockquote>Note: In accordance with RFC 9423, all entries with the "A" flag set, including new ones, <bcp14>MUST</bcp14> also be registered in the "Target Attributes" registry <xref target="IANA.core-parameters"/>.</blockquote>

      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC8288"/> apply, as do those of the
discovery specifications <xref target="RFC6690"/>, <xref target="RFC7252"/>, and <xref target="RFC9176"/>.</t>
    </section>
  </middle>
  <back>

    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>

<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8288.xml"/>

<referencegroup anchor="BCP26" target="https://www.rfc-editor.org/info/bcp26">
  <xi:include   
      href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8126.xml"/>
</referencegroup>
<referencegroup anchor="STD80" target="https://www.rfc-editor.org/info/std80">
  <xi:include   
      href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.0020.xml"/>
</referencegroup>

<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>

        <reference anchor="IANA.core-parameters" target="https://www.iana.org/assignments/core-parameters">
          <front>
            <title>Constrained RESTful Environments (CoRE) Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>

<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6690.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7252.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7641.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8075.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8613.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5988.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9176.xml"/>

      </references>
    </references>
<section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The CoRE Working Group had been discussing setting up a registry for target
attributes since the final touches were made on <xref target="RFC6690"/>.
The update of the Web Linking specification to <xref target="RFC8288"/> provided the
formal setting, but it took until <contact fullname="Jaime Jiménez"/> provided the set of
initial registrations to generate a first draft version of this specification.
The current document addresses additional input and Working Group Last
Call comments by
<contact fullname="Esko Dijk"/>,
<contact fullname="Marco Tiloca"/>,
<contact fullname="Thomas Fossati"/>,
and
<contact fullname="Mohamed Boucadair"/>,
as well as Area Director review comments from
<contact fullname="Rob Wilton"/>.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="J." surname="Jiménez" fullname="Jaime Jiménez">
        <organization>Ericsson</organization>
        <address>
          <email>jaime@iki.fi</email>
        </address>
      </contact>
      <t>Jaime provided the list of initial registrations.</t>
    </section>
  </back>
</rfc>
