RFC 9423 INFORMATIONAL CORE · IOT · WEB LINKING · REGISTRY

Constrained RESTful Environments (CoRE) Target Attributes Registry

A registry for names that describe links in constrained IoT systems.

On rfc-editor.org ↗
PUBLISHED
April 2024
AUTHORS
C. Bormann
STREAM
IETF
REGISTRY POLICY
Expert Review
NAME FORMAT
[a-z][-a-z0-9]*
EXAMPLE ATTRIBUTES
rt, if, sz, ct, obs
DOI
10.17487/RFC9423

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Internet Engineering Task Force (IETF)                        C. Bormann
Request for Comments: 9423                        Universität Bremen TZI
Category: Informational                                       April 2024
ISSN: 2070-1721


   Constrained RESTful Environments (CoRE) Target Attributes Registry

Abstract

   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).

   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.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Not all documents
   approved by the IESG are candidates for any level of Internet
   Standard; see Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc9423.

Copyright Notice

   Copyright (c) 2024 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Revised BSD License text as described in Section 4.e of the
   Trust Legal Provisions and are provided without warranty as described
   in the Revised BSD License.

Table of Contents

   1.  Introduction
     1.1.  Terminology
   2.  IANA Considerations
     2.1.  Instructions for the Designated Expert
     2.2.  Structure of Entries
     2.3.  Initial Entries
   3.  Security Considerations
   4.  References
     4.1.  Normative References
     4.2.  Informative References
   Acknowledgements
   Contributors
   Author's Address

1.  Introduction

   The Constrained RESTful Environments (CoRE) specifications apply web
   technologies to constrained environments.  One such important
   technology is Web Linking [RFC8288], which CoRE specifications use as
   the basis for a number of discovery protocols, such as the Link
   Format [RFC6690] in the Constrained Application Protocol's (CoAP's)
   resource discovery process (Section 7.2 of [RFC7252]) and the
   Resource Directory (RD) [RFC9176].

   Web Links can have target attributes.  The original Web Linking
   specification (Section 3 of [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 (Section 2.2 of [RFC8288]) clarifies as follows:

   |  This specification does not attempt to coordinate the name of
   |  target attributes, their cardinality, or use.  Those creating and
   |  maintaining serialisations SHOULD coordinate their target
   |  attributes to avoid conflicts in semantics or syntax and MAY
   |  define their own registries of target attributes.

   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 (Section 2.1).  It updates
   the "RD Parameters" IANA registry created by [RFC9176] to coordinate
   with this registry.

   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.

1.1.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in
   BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

2.  IANA Considerations

   Per this specification, IANA has created a new "Target Attributes"
   registry in the "Constrained RESTful Environments (CoRE) Parameters"
   registry group [IANA.core-parameters], with the policy "Expert
   Review" (Section 4.5 of RFC 8126 [BCP26]).

2.1.  Instructions for the Designated Expert

   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.

   The expert is also instructed to direct the registrant to provide a
   specification (Section 4.6 of RFC 8126 [BCP26]) but can make
   exceptions -- for instance, when a specification is not available at
   the time of registration but is likely forthcoming.

   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.

   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.

2.2.  Structure of Entries

   Each entry in the registry must include the following:

   Attribute Name:
      A lowercase ASCII string [STD80] that starts with a letter and can
      contain digits and hyphen-minus characters afterward
      ([a-z][-a-z0-9]*).  (Note that [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.)

   Brief Description:
      A brief description.

   Change Controller:
      See Section 2.3 of RFC 8126 [BCP26].

   Reference:
      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.

2.3.  Initial Entries

   Initial entries in this registry are listed in Table 1.

   +===========+=========================+============+===============+
   | Attribute | Brief Description       | Change     | Reference     |
   | Name      |                         | Controller |               |
   +===========+=========================+============+===============+
   | href      | reserved (not useful as | IETF       | [RFC6690]     |
   |           | target attribute name)  |            |               |
   +-----------+-------------------------+------------+---------------+
   | anchor    | reserved (not useful as | IETF       | [RFC6690]     |
   |           | target attribute name)  |            |               |
   +-----------+-------------------------+------------+---------------+
   | rel       | reserved (not useful as | IETF       | [RFC6690]     |
   |           | target attribute name)  |            |               |
   +-----------+-------------------------+------------+---------------+
   | rev       | reserved (not useful as | IETF       | [RFC6690]     |
   |           | target attribute name)  |            |               |
   +-----------+-------------------------+------------+---------------+
   | hreflang  | (Web Linking)           | IETF       | [RFC8288]     |
   +-----------+-------------------------+------------+---------------+
   | media     | (Web Linking)           | IETF       | [RFC8288]     |
   +-----------+-------------------------+------------+---------------+
   | title     | (Web Linking)           | IETF       | [RFC8288]     |
   +-----------+-------------------------+------------+---------------+
   | type      | (Web Linking)           | IETF       | [RFC8288]     |
   +-----------+-------------------------+------------+---------------+
   | rt        | resource type           | IETF       | Section 3.1   |
   |           |                         |            | of [RFC6690]  |
   +-----------+-------------------------+------------+---------------+
   | if        | interface description   | IETF       | Section 3.2   |
   |           |                         |            | of [RFC6690]  |
   +-----------+-------------------------+------------+---------------+
   | sz        | maximum size estimate   | IETF       | Section 3.3   |
   |           |                         |            | of [RFC6690]  |
   +-----------+-------------------------+------------+---------------+
   | ct        | Content-Format hint     | IETF       | Section 7.2.1 |
   |           |                         |            | of [RFC7252]  |
   +-----------+-------------------------+------------+---------------+
   | obs       | observable resource     | IETF       | Section 6 of  |
   |           |                         |            | [RFC7641]     |
   +-----------+-------------------------+------------+---------------+
   | hct       | HTTP-CoAP URI mapping   | IETF       | Section 5.5   |
   |           | template                |            | of [RFC8075]  |
   +-----------+-------------------------+------------+---------------+
   | osc       | hint: resource only     | IETF       | Section 9 of  |
   |           | accessible using OSCORE |            | [RFC8613]     |
   +-----------+-------------------------+------------+---------------+
   | ep        | Endpoint Name (with     | IETF       | Section 9.3   |
   |           | rt="core.rd-ep")        |            | of [RFC9176]  |
   +-----------+-------------------------+------------+---------------+
   | d         | Sector (with            | IETF       | Section 9.3   |
   |           | rt="core.rd-ep")        |            | of [RFC9176]  |
   +-----------+-------------------------+------------+---------------+
   | base      | Registration Base URI   | IETF       | Section 9.3   |
   |           | (with rt="core.rd-ep")  |            | of [RFC9176]  |
   +-----------+-------------------------+------------+---------------+
   | et        | Endpoint Type (with     | IETF       | Section 9.3   |
   |           | rt="core.rd-ep")        |            | of [RFC9176]  |
   +-----------+-------------------------+------------+---------------+

        Table 1: Initial Entries in the Target Attributes Registry

   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 [RFC8288] and is imported into this
   registry.

   Section 9.3 of [RFC9176] created the "RD Parameters" IANA registry.
   Per this document, IANA has added the following note to that
   registry:

   |  Note: In accordance with RFC 9423, all entries with the "A" flag
   |  set, including new ones, MUST also be registered in the "Target
   |  Attributes" registry [IANA.core-parameters].

3.  Security Considerations

   The security considerations of [RFC8288] apply, as do those of the
   discovery specifications [RFC6690], [RFC7252], and [RFC9176].

4.  References

4.1.  Normative References

   [BCP26]    Best Current Practice 26,
              <https://www.rfc-editor.org/info/bcp26>.
              At the time of writing, this BCP comprises the following:

              Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

   [IANA.core-parameters]
              IANA, "Constrained RESTful Environments (CoRE)
              Parameters",
              <https://www.iana.org/assignments/core-parameters>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8288]  Nottingham, M., "Web Linking", RFC 8288,
              DOI 10.17487/RFC8288, October 2017,
              <https://www.rfc-editor.org/info/rfc8288>.

   [STD80]    Internet Standard 80,
              <https://www.rfc-editor.org/info/std80>.
              At the time of writing, this STD comprises the following:

              Cerf, V., "ASCII format for network interchange", STD 80,
              RFC 20, DOI 10.17487/RFC0020, October 1969,
              <https://www.rfc-editor.org/info/rfc20>.

4.2.  Informative References

   [RFC5988]  Nottingham, M., "Web Linking", RFC 5988,
              DOI 10.17487/RFC5988, October 2010,
              <https://www.rfc-editor.org/info/rfc5988>.

   [RFC6690]  Shelby, Z., "Constrained RESTful Environments (CoRE) Link
              Format", RFC 6690, DOI 10.17487/RFC6690, August 2012,
              <https://www.rfc-editor.org/info/rfc6690>.

   [RFC7252]  Shelby, Z., Hartke, K., and C. Bormann, "The Constrained
              Application Protocol (CoAP)", RFC 7252,
              DOI 10.17487/RFC7252, June 2014,
              <https://www.rfc-editor.org/info/rfc7252>.

   [RFC7641]  Hartke, K., "Observing Resources in the Constrained
              Application Protocol (CoAP)", RFC 7641,
              DOI 10.17487/RFC7641, September 2015,
              <https://www.rfc-editor.org/info/rfc7641>.

   [RFC8075]  Castellani, A., Loreto, S., Rahman, A., Fossati, T., and
              E. Dijk, "Guidelines for Mapping Implementations: HTTP to
              the Constrained Application Protocol (CoAP)", RFC 8075,
              DOI 10.17487/RFC8075, February 2017,
              <https://www.rfc-editor.org/info/rfc8075>.

   [RFC8613]  Selander, G., Mattsson, J., Palombini, F., and L. Seitz,
              "Object Security for Constrained RESTful Environments
              (OSCORE)", RFC 8613, DOI 10.17487/RFC8613, July 2019,
              <https://www.rfc-editor.org/info/rfc8613>.

   [RFC9176]  Amsüss, C., Ed., Shelby, Z., Koster, M., Bormann, C., and
              P. van der Stok, "Constrained RESTful Environments (CoRE)
              Resource Directory", RFC 9176, DOI 10.17487/RFC9176, April
              2022, <https://www.rfc-editor.org/info/rfc9176>.

Acknowledgements

   The CoRE Working Group had been discussing setting up a registry for
   target attributes since the final touches were made on [RFC6690].
   The update of the Web Linking specification to [RFC8288] provided the
   formal setting, but it took until 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 Esko Dijk, Marco Tiloca, Thomas
   Fossati, and Mohamed Boucadair, as well as Area Director review
   comments from Rob Wilton.

Contributors

   Jaime Jiménez
   Ericsson
   Email: jaime@iki.fi


   Jaime provided the list of initial registrations.

Author's Address

   Carsten Bormann
   Universität Bremen TZI
   Postfach 330440
   D-28359 Bremen
   Germany
   Phone: +49-421-218-63921
   Email: cabo@tzi.org

AI ELI5

On this page
PROBLEMCoRE (Constrained RESTful Environments) discovery protocols use Web Linking with target attributes to describe resources, but different systems were choosing different attribute names, risking conflicts and incompatibilities.
MECHANISMRFC 9423 creates an IANA registry for target attribute names used in CoRE with an Expert Review policy, ensuring that attributes are named consistently and coordinated across specifications. It seeds the registry with common attributes from CoAP, the Resource Directory, and Web Linking.
COORDINATED NAMINGSystems implementing CoRE can register their attribute names, avoiding future collisions and making discovery more reliable and interoperable.

§1Web Linking in CoRE

Constrained RESTful Environments (CoRE) applies web technologies to resource-constrained systems. One key technology is Web Linking (RFC 8288), which CoRE specifications use as the foundation for discovery protocols such as the Link Format used in the Constrained Application Protocol's (CoAP) resource discovery process and the Resource Directory (RD).

Web Links can carry target attributes—names that describe properties of the linked resource, such as its resource type (rt), interface description (if), content format (ct), or maximum size (sz). The Web Linking specification itself does not coordinate the names of target attributes, leaving implementers free to define their own but at the risk of creating conflicts when different systems choose the same name for different purposes.

When a tiny device (like a sensor) tells other devices what it is, it uses special labels. This RFC creates a list of approved labels so everyone uses the same ones.

§2Why a Registry is Needed

The CoRE Working Group has been discussing setting up a registry for target attribute names since the work on CoRE Link Format (RFC 6690). The update of Web Linking to RFC 8288 provided the formal setting and acknowledgment that while Web Linking does not coordinate attribute names, individual serializations (like CoRE's) should do so.

Without a registry, an unregistered attribute name might be registered later with a different meaning, causing incompatibilities. By creating a registry now, systems implementing CoRE can register their attribute names, ensuring that each name has a consistent meaning across all CoRE-based protocols and implementations. The registry also guides developers toward reasonably short names (important for conserving resources in constrained systems) while preserving very short names for attributes that are likely to be widely used.

Different groups might invent their own labels without knowing what others chose. A central list prevents confusion and helps new devices pick good names that everyone agrees on.

§3How the Registry Works

RFC 9423 creates a new "Target Attributes" registry under the Constrained RESTful Environments (CoRE) Parameters registry group at IANA. The registry uses an "Expert Review" policy, meaning that each new registration is reviewed by a designated expert who guides registrants toward appropriate names and ensures quality specifications.

Each registry entry must include an attribute name (lowercase ASCII starting with a letter, with optional digits and hyphens), a brief description, a change controller, and a reference document describing the attribute and its semantics. The expert is instructed to encourage reasonably short names and to direct registrants to provide full specifications—though exceptions can be made when a specification is not available yet but is likely forthcoming.

When someone wants to register a label, they describe it and an expert checks that it makes sense, does not conflict with other labels, and is documented well.

§4Initial Attributes

The registry is seeded with initial entries from existing CoRE and Web Linking standards. Entries from RFC 6690 (CoRE Link Format) include rt (resource type), if (interface description), sz (maximum size estimate), and ct (Content-Format hint). Additional entries come from CoAP specifications: obs (observable resource), hct (HTTP-CoAP URI mapping), and osc (OSCORE-only hint).

From the Resource Directory (RFC 9176) come ep (Endpoint Name), d (Sector), base (Registration Base URI), and et (Endpoint Type). From Web Linking (RFC 8288) come hreflang, media, title, and type. Certain names like href, anchor, rel, and rev are reserved as not useful for target attributes.

The list starts with labels that CoRE systems already use, like rt for what kind of resource it is, and if for how to talk to it.

§5Coordination with Related Registries

RFC 9423 updates the "RD Parameters" IANA registry created by RFC 9176 to coordinate with the new Target Attributes registry. The RD Parameters registry marks certain entries with an "A" flag, indicating they are target attributes. Per this document, all entries with the "A" flag, including new ones, must also be registered in the Target Attributes registry. This ensures a single source of truth for attribute definitions across CoRE specifications.

The Resource Directory has its own list of labels. This RFC makes sure that any label used in both places is defined in the same central registry.

§6References