Subject: [core] CoAP-02 section 2.5.2

From: Peter Bigot <[email-masked]>
Date: Wed, 20 Oct 2010 10:22:00 -0500

A clarification of something which threw me off track for a little while:
Section 2.5.2 starts:

   The Universal Resource Identifier (URI) [RFC3986] is an important
   feature of the web architecture, where the relative part of the URI
   indicates the resource being manipulated.

This is not quite correct.  It conflates URI references with (hierarchical)
URIs, and may have been a source of confusion within the working group,
including leading to some mistaken assumptions about how URIs with multicast
addresses might work.

A hierarchical URI <http://tools.ietf.org/html/rfc3986#section-3> comprises
a scheme, a hier-part, and optionally query and fragment parts.  I believe
the text above is intended to reflect the general position in REST that it
is solely the hier-part (comprising authority and path) that identifies the
resource; the scheme and any query and fragment parts do not contribute to
this identification.  (The scheme tells you how to talk to the resource
owner; the fragment identifies elements internal to the resource; I would
say the query-part conveys metadata associated with the REST operation to be
performed.)

There is no such thing as a "relative part" of a URI.  There is a relative
URI reference, defined at http://tools.ietf.org/html/rfc3986#section-4.2,
which includes at most the authority and path parts.  But it must be
combined with a base URI to produce an actual URI.

In short, when determining the resource identified by a URI you need a full
URI not a relative URI reference.  You can ignore the scheme and any query
or fragment parts, but you can't ignore the authority or path.

If I was the only one who ever mis-read that, never mind.

Peter