Option abuse

Dear Colleagues,

Several extension define a root set for their resources.  In the current
version, these are obtained via the options request, however this is not
the intent of options.  Options should be just tags that identify what
capabilities a server offers.

HTTP defines a special request URI---"*"---for making request of a
server instead of a particular resource.  By defining the following
resources as properties of a server, propfind could be used to query
their values:

    DAV:versionable-resource-collection-set
    DAV:version-history-collection-set
    DAV:workspace-collection-set
    DAV:activity-collection-set

For servers that do not allow new message to reference "*", then any
resource collection directly or indirectly contained in any of the above
variables should respond to the request.  I beleive there was some
object based on this kind of restriction. This solution does not have
any disadvantage that OPTIONS does not also have.

Here is an example.

>>Request

PROPFIND * HTTP/1.1
Host: www.webdav.org
Content-type: text/xml; charset="utf-8"
Content-Length: xxxx

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DAV:webdav-1.0 SYSTEM
"http://www.webdav.org/dtd/deltav-0.12.dtd" !>
<D:webdav xmlns:D="DAV:">
 <D:propfind>
  <D:prop>
   <D:prop-key name="DAV:versionable-resource-collection-set"/>
   <D:prop-key name="DAV:version-history-collection-set"/>
  </D:prop>
 </D:propfind>
</D:webdav>

>>Response

HTTP/1.1 207 Multi-Status
Content-Type: text/xml; charset="utf-8"
Content-Length: xxxx

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DAV:webdav-1.0 SYSTEM
"http://www.webdav.org/dtd/deltav-0.12.dtd" !>
<D:webdav xmlns:D="DAV:">
 <D:multistatus>
  <D:response>
   <D:href>http://www.webdav.org</D:href>
    <D:propstat>
     <D:prop>
      <D:prop-value name="DAV:versionable-resource-collection-set">
       <D:href>http://www.webdav.org/public/projects</D:href>
       <D:href>http://www.webdav.org/users/projects</D:href>
      </D:prop-value>
      <D:prop-value name="DAV:version-history-collection-set">
       <D:href>http://www.webdav.org/public/archive</D:href>
       <D:href>http://www.webdav.org/users/archive</D:href>
      </D:prop-value>
     </D:prop>
     <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>
 </D:multistatus>
</D:webdav>

Sincerely,
James J. Hunt
Jürgen Reuter

Received on Saturday, 3 February 2001 21:00:32 UTC