Draft: draft-irtf-t2trg-rest-iot

Commentary: Updating HTTP references to RFC9110 and RFC9112 . Moving CoAP reference to normative to be consistent with other references . 
 ; httpbis - messaging/-semantics/-cache are in the RFC editor queue and will be published before this document . 
 They actually have been published . 
 Thanks !
Different protocols can be used with RESTful systems, but at the time
of writing the most common protocols are HTTP RFC7230 and CoAP
RFC7252.  Since RESTful APIs are often lightweight and enable loose
coupling of system components, they are a good fit for various
Internet of Things (IoT) applications, which in general aim at
interconnecting the physical world with the virtual world.  The goal
of this document is to give basic guidance for designing RESTful
systems and APIs for IoT applications and give pointers for more
information.
Different protocols can be used with RESTful systems, but at the time
of writing the most common protocols are HTTP RFC9110 and CoAP
RFC7252.  Since RESTful APIs are often lightweight and enable loose
coupling of system components, they are a good fit for various
Internet of Things (IoT) applications, which in general aim at
interconnecting the physical world with the virtual world.  The goal
of this document is to give basic guidance for designing RESTful
systems and APIs for IoT applications and give pointers for more
information.
Section 4.3 of RFC7231 defines the set of methods in HTTP;
Section 5.8 of RFC7252 defines the set of methods in CoAP.  As part
of the Uniform Interface constraint, each method can have certain
properties that give guarantees to clients.
Section 9.3 of RFC9110 defines the set of methods in HTTP;
Section 5.8 of RFC7252 defines the set of methods in CoAP.  As part
of the Uniform Interface constraint, each method can have certain
properties that give guarantees to clients.
Section 6 of RFC7231 defines a set of Status Codes in HTTP that are
assigned by the server to indicate whether a request was understood
and satisfied, and how to interpret the answer.  Similarly,
Section 5.9 of RFC7252 defines the set of Response Codes in CoAP.
The status codes consist of three digits (e.g., "404" with HTTP or
"4.04" with CoAP) where the first digit expresses the class of the
code.  Implementations do not need to understand all status codes,
but the class of the code must be understood.  Codes starting with 1
are informational; the request was received and being processed (not
available in CoAP).  Codes starting with 2 indicate a successful
request.  Codes starting with 3 indicate redirection; further action
is needed to complete the request (not available in CoAP).  Codes
stating with 4 and 5 indicate errors.  The codes starting with 4 mean
client error (e.g., bad syntax in the request) whereas codes starting
with 5 mean server error; there was no apparent problem with the
request, but the server was not able to fulfill the request.
Section 15 of RFC9110 defines a set of Status Codes in HTTP that are
assigned by the server to indicate whether a request was understood
and satisfied, and how to interpret the answer.  Similarly,
Section 5.9 of RFC7252 defines the set of Response Codes in CoAP.
The codes consist of three digits (e.g., "404" with HTTP or "4.04"
with CoAP) where the first digit expresses the class of the code.
Implementations do not need to understand all codes, but the class of
the code must be understood.  Codes starting with 1 are
informational; the request was received and being processed (not
available in CoAP).  Codes starting with 2 indicate a successful
request.  Codes starting with 3 indicate redirection; further action
is needed to complete the request (not available in CoAP).  Codes
stating with 4 and 5 indicate errors.  The codes starting with 4 mean
client error (e.g., bad syntax in the request) whereas codes starting
with 5 mean server error; there was no apparent problem with the
request, but the server was not able to fulfill the request.
HTTP security: Section 9 of RFC7230, Section 9 of RFC7231, etc.
HTTP security: Section 11 of RFC9112, Section 17 of RFC9110, etc.