Technical Summary
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.
Working Group Summary
This document has quite a long history.
Its incubation began in the Thing-to-Thing RG about eight years ago.
Shortly after, it was adopted by the CoRE WG. While it was paused
for a time, over the past four years it has been developed
by a very committed design team that has held fortnightly calls and
made regular reports to the CoRE WG at various interims and
face-to-face meetings.
The consensus represents the *very* strong agreement among a few
individuals (the DT and a small group of dedicated reviewers).
Document Quality
There are three independent open-source implementations (in Rust, Python
and Go) listed in the Implementation Status section. Another (currently PoC)
implementation in Ruby exists but is not listed in the document.
The editors and early implementers developed a
[test suite](https://github.com/core-wg/href/tree/main/tests) based on the
specification, which has served (and will serve) as an interop & coordination
tool for (future) implementers.
Personnel
The Document Shepherd for this document is Thomas Fossati. The
Responsible Area Director is Mike Bishop.
IANA Note
This document establishes one new registry ("CRI Scheme Numbers"), adds
a note to the "URI Schemes" registry, and makes registrations in the
"CBOR Application-Extension Identifiers", "CBOR Tags", and "CoAP Option
Numbers" registries.