Subject: [Bug 46] URLs in Multistatus

From: [email-masked]
Date: Sun, 4 Dec 2005 06:09:03 -0800

http://ietf.cse.ucsc.edu:8080/bugzilla/show_bug.cgi?id=46

------- Additional Comments From [email-masked]  2005-12-04 06:09 -------
As far as I remember, there was also consensus to simply state that relative
references are always relative to the Request-URI, independant of whether there
was a Destination header present.

My suggestion is to replace the whole paragraph with the text below, using
proper terminology from RFC3986, and also giving an example. See also marked-up
version, following links from
<http://greenbytes.de/tech/webdav/draft-reschke-webdav-rfc2518bis-latest.html#rfc.issue.bz046>.

12.1  URL handling

   The Multi-Status response format may contain 'href' elements
   (Section 13.7) in multiple places, namely as child element of
   'response' elements (Section 13.24).  When the contents of an 'href'
   element contains a Relative Reference ([RFC3986], Section 4.2), it is
   relative to the Request-URI of the HTTP request.

   Interoperability experience shows that many clients do not fully
   implement the Reference Resolution defined in Section 5 of [RFC3986].
   Therefore servers SHOULD NOT use 'href' values that:

   o  use forms of relative references other than absolute paths (see
      "absolute-path", [RFC3986], Section 3.3),

   o  use dot-segments ("." or ".."),

   o  use a notation for the authority part of a URI (see "authority",
      [RFC3986], Section 3.2) other the one used in the HTTP request or

   o  use a different notation for the part of the path that identifies
      the Request-URI.

   URLs for collections appearing in the results SHOULD end in a '/'
   character.

12.1.1  Example for correct URL handling

   Consider the collection http://example.com/sample/ with the internal

   member URL http://example.com/sample/a%20test and the PROPFIND
   request below:

   >>Request:

     PROPFIND /sample/ HTTP/1.1
     Host: example.com
     Depth: 1

   In this case, the server should return 'href' elements containing
   either

   o  'http://example.com/sample/' and
      'http://example.com/sample/a%20test', or

   o  '/example.com/sample/' and '/example.com/sample/a%20test'.

   Note that even though the server may be storing the member resource
   internally as 'a test', it must be percent-encoded when used inside a
   URI reference (see [RFC3986], Section 2.1).  Also note that a legal
   URI may still contain characters that need to be escaped within XML
   character data, such as the ampersand character.

Also note the proposed change to the subsection about the 'href' element.

13.7  href XML Element

   Name:  href

   Purpose:  Identifies the content of the element as a URI reference.
      Some uses of 'href' limit the URI to be a HTTP URL to a WebDAV
      resource.  Refer to the specification text where 'href' is used to
      see what limitations apply in each case.

   Value:  URI reference (see Section 4.1 of [RFC3986])

   Extensibility:  MAY be extended with attributes which SHOULD be
      ignored.

      <!ELEMENT href (#PCDATA)>

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.