|Internet-Draft||CoRE Target Attributes Registry||March 2023|
|Bormann||Expires 7 September 2023||[Page]|
- CoRE Working group
- 9176 (if approved)
- Intended Status:
CoRE Target Attributes Registry
The Constrained RESTful Environments (CoRE) specifications apply Web technologies to constrained environments. One important such technology is Web Linking (RFC 8288), which CoRE uses as the basis for a number of discovery protocols, such as the Link Format (RFC 6690) in CoAP's Resource Discovery Protocol (Section 7.2 of RFC7252) and the Resource Directory (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 Constrained RESTful Environments. It updates the RD Parameters Registry of RFC 9176 to coordinate with this registry.¶
This note is to be removed before publishing as an RFC.¶
Status information for this document may be found at https://datatracker.ietf.org/doc/draft-ietf-core-target-attr/.¶
Discussion of this document takes place on the core Working Group mailing list (mailto:firstname.lastname@example.org), which is archived at https://mailarchive.ietf.org/arch/browse/core/. Subscribe at https://www.ietf.org/mailman/listinfo/core/.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 7 September 2023.¶
Copyright (c) 2023 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.¶
The Constrained RESTful Environments (CoRE) specifications apply Web technologies to constrained environments. One important such technology is Web Linking [RFC8288], which CoRE uses as the basis for a number of discovery protocols, such as the Link Format [RFC6690] in CoAP's Resource Discovery Protocol (Section 7.2 of [RFC7252]) and the Resource Directory [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 clarifies (Section 2.2 of [RFC8288]):¶
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 Constrained RESTful Environments, with specific instructions for the designated expert for this registry (Section 2.1). It updates the RD Parameters Registry of [RFC9176] to coordinate with this registry.¶
With a 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.¶
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.¶
The expert is instructed to be frugal in the allocation of very short target attribute 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 [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 email@example.com 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 such a registration can avert potential future collisions.¶
Each entry in the registry must include:¶
- Attribute Name:
a lower case ASCII [STD80] string 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 lower case here ensures that they are registered in a predictable form).¶
- Brief description:
a brief description¶
- Change Controller:
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.¶
|Attribute Name||Brief description||Change Controller||Reference|
|href||reserved (not useful as target attribute name)||IESG||[RFC6690]|
|anchor||reserved (not useful as target attribute name)||IESG||[RFC6690]|
|rel||reserved (not useful as target attribute name)||IESG||[RFC6690]|
|rev||reserved (not useful as target attribute name)||IESG||[RFC6690]|
|rt||resource type||IESG||Section 3.1 of [RFC6690]|
|if||interface description||IESG||Section 3.2 of [RFC6690]|
|sz||maximum size estimate||IESG||Section 3.3 of [RFC6690]|
|ct||Content-Format hint||IESG||Section 7.2.1 of [RFC7252]|
|obs||observable resource||IESG||Section 6 of [RFC7641]|
|hct||HTTP-CoAP URI mapping template||IESG||Section 5.5 of [RFC8075]|
|osc||hint: resource only accessible using OSCORE||IESG||Section 9 of [RFC8613]|
|ep||Endpoint Name (with rt="core.rd-ep")||IESG||Section 9.3 of [RFC9176]|
|d||Sector (with rt="core.rd-ep")||IESG||Section 9.3 of [RFC9176]|
|base||Registration Base URI (with rt="core.rd-ep")||IESG||Section 9.3 of [RFC9176]|
|et||Endpoint Type (with rt="core.rd-ep")||IESG||Section 9.3 of [RFC9176]|
- Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, , <https://www.rfc-editor.org/rfc/rfc8126>.
- IANA, "Constrained RESTful Environments (CoRE) Parameters", <https://www.iana.org/assignments/core-parameters>.
- Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
- Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.
- Nottingham, M., "Web Linking", RFC 8288, DOI 10.17487/RFC8288, , <https://www.rfc-editor.org/rfc/rfc8288>.
- Cerf, V., "ASCII format for network interchange", STD 80, RFC 20, DOI 10.17487/RFC0020, , <https://www.rfc-editor.org/rfc/rfc20>.
- Nottingham, M., "Web Linking", RFC 5988, DOI 10.17487/RFC5988, , <https://www.rfc-editor.org/rfc/rfc5988>.
- Shelby, Z., "Constrained RESTful Environments (CoRE) Link Format", RFC 6690, DOI 10.17487/RFC6690, , <https://www.rfc-editor.org/rfc/rfc6690>.
- Shelby, Z., Hartke, K., and C. Bormann, "The Constrained Application Protocol (CoAP)", RFC 7252, DOI 10.17487/RFC7252, , <https://www.rfc-editor.org/rfc/rfc7252>.
- Hartke, K., "Observing Resources in the Constrained Application Protocol (CoAP)", RFC 7641, DOI 10.17487/RFC7641, , <https://www.rfc-editor.org/rfc/rfc7641>.
- 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, , <https://www.rfc-editor.org/rfc/rfc8075>.
- Selander, G., Mattsson, J., Palombini, F., and L. Seitz, "Object Security for Constrained RESTful Environments (OSCORE)", RFC 8613, DOI 10.17487/RFC8613, , <https://www.rfc-editor.org/rfc/rfc8613>.
- 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, , <https://www.rfc-editor.org/rfc/rfc9176>.
The CoRE WG 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 version of this specification. The current version addresses additional input and working group last call comments by Esko Dijk, Marco Tiloca, and Thomas Fossati.¶