DAV was designed to provide more methods for handling server resources.
In addition to the usual HTTP methods such as
OPTIONS, DAV includes methods for making directories (or collections); locking mechanisms; methods for copying resources or collections; predefined and used-defined properties of resources and collections; and browsing and writing of the properties.
The vehicle of communication is still HTTP with the use of headers in requests and responses to establish in some detail the intention of the client or server. This method information can be quite extensive and provide detailed instructions. XML was therefore chosen to describe these instructions. XML is crucial to the operation of DAV by providing:
- a method of formatting instructions describing how data is to be handled;
- a method of formatting complex responses from the server;
- a method of communicating customized information about the collections and resources handled; and
- a container for the data itself.
XML provides a way of abstracting data from methods that act on that data, or the way the data is presented. DAV then provides a method of consistent, unified transfer between all tiers in an existing network architecture. Second, XML enhances DAV by providing a means for attaching meta data to resources. Due to XML extensibility, clients are able to describe and set properties on a DAV server. These properties can then be used to index, search, and process server resources. Inherent extensibility of XML means that the types of properties and their uses are infinite.
For details of our implementation, see WebDAV in Virtuoso.
- IETF RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1 (June 1999)
- IETF RFC 2518: HTTP Extensions for Distributed Authoring -- WEBDAV (February 1999)
- IETF RFC 2817: Upgrading to TLS Within HTTP/1.1 (May 2000)
- IETF RFC 3253: Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning) (March 2002)