DAV
From eg
The WebDAV working group is to "define the HTTP extensions necessary to enable distributed web authoring tools to be broadly interoperable, while supporting user needs". - WebDAV FAQ
Contents |
[edit] verbs
WebDAV adds the following to HTTP: - PROPFIND — Used to retrieve properties, persisted as XML, from a resource. It is also overloaded to allow one to retrieve the collection structure (a.k.a. directory hierarchy) of a remote system. - PROPPATCH — Used to change and delete multiple properties on a resource in a single atomic act. - MKCOL — Used to create collections (a.k.a. directory). - COPY — Used to copy a resource from one URI to another. - MOVE — Used to move a resource from one URI to another. - LOCK — Used to put a lock on a resource. WebDAV supports both shared and exclusive locks. - UNLOCK — To remove a lock from a resource. - SEARCH — Used to initiate a server-side search.
[edit] goals
DAV is an attempt to complete the original vision of the Web as a writeable, collaborative medium, e.g. something between wiki and Xanadu.
People working on DAV have had goals which extend beyond simple web page authoring. Some view DAV as a network filesystem suitable for the Internet, one that works on entire files at a time, with good performance in high-latency environments. Others view DAV as a protocol for manipulating the contents of a document management system via the Web.
An important goal of DAV is to support virtual enterprises, being the primary protocol supporting a wide range of collaborative applications. Importantly, a major goal is the support of remote software development teams. A final goal of DAV is to leverage the success of HTTP in being a standard access layer for a wide range of storage repositories -- HTTP gave them read access, while DAV gives them write access.
All of these goals are complementary, and are satisfied by the same network protocol.
[edit] locking, properties, namespace
WebDAV provides a network protocol for creating interoperable, collaborative applications. Major features of the protocol include:
- Locking (concurrency control): long-duration exclusive and shared write locks prevent the overwrite problem, where two or more collaborators write to the same resource without first merging changes. To achieve robust Internet-scale collaboration, where network connections may be disconnected arbitrarily, and for scalability, since each open connection consumes server resources, the duration of DAV locks is independent of any individual network connection.
- Properties: XML properties provide storage for arbitrary metadata, such as a list of authors on Web resources. These properties can be efficiently set, deleted, and retrieved using the DAV protocol. DASL, the DAV Searching and Locating protocol, provides searches based on property values to locate Web resources.
- Namespace manipulation: Since resources may need to be copied or moved as a Web site evolves, DAV supports copy and move operations. Collections, similar to file system directories, may be created and listed.
See WebDAV: IETF Standard for Collaborative Authoring on the Web which appeared in IEEE Internet Computing, September/October, 1998.
[edit] ordered collections, versioning, access control
Several extensions to the base DAV protocol are currently under development in the IETF:
- Advanced Collections: this adds support for ordered collections, where the server maintains a single persistent ordering of the URLs in a collection. It also supports referential resources, resources which act like symbolic links in file systems, allowing a client to remotely create a redirect to another resource. This work is expected to be completed in mid-2000.
- Versioning and Configuration Mangement: versioning support, similar to that provided by RCS or SCCS, is the entry level of functionality. The versioning level will support opreations such as check-out, check-in, and retrieval of the history list. The ability to directly retrieve a previous version of a resource (allowing links directly to previous revisions) will also be supported. Built on top of the versioning layer is the configuration management layer, which provides support for workspaces and configurations, allowing versioned collections of versioned resources to be worked on. Both layers support parallel development. This work took place in the IETF DELTA-V working group.
- Access Control: the ability to set and clear access control lists. This functionality is crucial for allowing collaborators to remotely add and remove people from the list of collaborators on a single resource. At its most general this activity becomes access control not just for DAV, but for the entire Web.
[edit] standards
On November 30, 2006 IETF approved "Mounting Web Distributed Authoring and Versioning (WebDAV) Servers" as Informational RFC 4709. This specification makes it easier for a user operating a web browser to open a WebDAV view of a server. Julian Reschke primarily authored the specification.
[edit] redirects defined
IETF RFC 4437 [1] covers verb:redirect extensions: The IETF approved a "Redirect Reference Resource" specification, as Experimental RFC 4437. This specification allows clients to remotely edit resources that return HTTP 301 and HTTP 302 redirections.
[edit] quota and size
In October IETF approved "Quota and Size Properties for Web Distributed Authoring and Versioning (DAV) Collections" as Proposed Standard RFC 4331. This specification permits filesystem-type WebDAV clients to display storage quota information, including how much storage has been used so far.
[edit] vendors
Network Attached Storage (NAS) devices are increasingly supporting WebDAV as a standard feature. Iomega's 250D Series of NAS supports WebDAV as a file access protocol, as does FireWire Depot with their tNASi 5 RAID NAS/SAN tower.
In a similar trend, application specific storage is also supporting WebDAV. Sun has a storage product called Honeycomb that only supports WebDAV or an application programming interface (API) to access data, and does not support traditional lower-level protocols such as NFS and CIFS. Kodak has recently announced they will sell Honeycomb (StorageTek 5800) as Carestream, a picture archiving and communications system for the medical market. Also for archival storage, Archivas Cluster (ArC) is a distributed storage platform designed to support multi-petabyte archives that supports WebDAV (as well as traditional protocols).
The Amazon Simple Storage Service (S3) is an inexpensive web-based storage system that uses a RESTful, S3-specific API for storage. Stefan Eissing summarizes its S3 interface, and discusses design decisions made by S3 and WebDAV. Jungle Disk provides a WebDAV to S3 conversion service, acting as a WebDAV server on your local machine. Similarly, S3DAV also provides a WebDAV interface to an S3 storage account, allowing S3 contents to be accessible via all WebDAV clients, including file system mappers.
Interarchy is a file transfer utility for the Macintosh that, in its 8.2 release, supports WebDAV, as well as the Amazon S3 storage system.
