WebDAV

From Wikipedia, the free encyclopedia

Jump to: navigation, search

WebDAV, an abbreviation that stands for Web-based Distributed Authoring and Versioning, refers to the set of extensions to the Hypertext Transfer Protocol (HTTP) which allows users to collaboratively edit and manage files on remote World Wide Web servers. The group of developers responsible for these extensions was also known by the same name and was a working group of the Internet Engineering Task Force (IETF).

The protocol's aim was to make the Web a readable and writable medium, in line with Tim Berners-Lee's original vision. It provides functionality to create, change and move documents on a remote server (typically a web server or "web share"). This is useful for, among other things, authoring the documents which a web server serves, but can also be used for general web-based file storage that can be accessed from anywhere. Important features in WebDAV protocol include locking (overwrite prevention), properties (creation, removal, and querying of information about author, modified date, etc.), name space management (ability to copy and move Web pages within a server's namespace) and collections (creation, removal, and listing of resources). Most modern operating systems provide built-in support for WebDAV. With the right client and a fast network, it can be almost as easy to use files on a WebDAV server as those stored in local directories.

The WebDAV working group concluded its work in March 2007, after an incremental update to RFC 2518 was accepted by the Internet Engineering Steering Group (IESG). Other extensions that were unfinished at that time, such as the BIND protocol, will be finished by their individual authors outside a formal working group.

Contents

[edit] History

WebDAV began in 1996 when Jim Whitehead worked with the World Wide Web Consortium (W3C) to host two meetings to discuss the problem of distributed authoring on the World Wide Web with interested people[1][2]. The original vision of the Web as expounded by Tim Berners-Lee was a both readable and writable medium. In fact Berners-Lee's first web browser, called WorldWideWeb, was able to both view and edit web pages; but, as the Web grew, it became, for most users, a read-only medium. Whitehead and other like-minded people wanted to fix that limitation.[3]

At the W3C meeting, it was decided that the best way to proceed was to form an IETF working group, because the new effort would lead to extensions to HTTP, which was being standardized at the IETF.

As work began on the protocol, it became clear that handling both distributed authoring and versioning was too much work and that the tasks would have to be separated. The WebDAV group focused on distributed authoring, and left versioning for the future. Versioning was added later by the Delta-V extension — see the Extensions section below.

The protocol consists of a set of new methods and headers for use in HTTP and is almost certainly the first protocol ever to use XML.

[edit] Documents produced by the working group

The WebDAV working group has to date produced several works:

  • a requirements document: "Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web" RFC 2291,
  • a base protocol document: "HTTP Extensions for Distributed Authoring — WebDAV" RFC 2518,
  • the ordered collections protocol: "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol" RFC 3648,
  • the access control protocol: "Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol" RFC 3744,
  • a quota specification: "Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections" RFC 4331,
  • a redirect specification: "Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources" RFC 4437, and
  • an update to the base protocol document: "HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)" RFC 4918.

[edit] Other documents published through IETF

  • the versioning protocol: "Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)" RFC 3253 (created by the Delta-V working group),
  • a specification of WebDAV property datatypes: "Datatypes for Web Distributed Authoring and Versioning (WebDAV) Properties" RFC 4316,
  • a document defining how to initiate mounting of a WebDAV resource: "Mounting Web Distributed Authoring and Versioning (WebDAV) Servers" RFC 4709, and
  • a calendar access protocol: "Calendaring Extensions to WebDAV (CalDAV)" RFC 4791.

[edit] Overview of the protocol

WebDAV added the following methods to HTTP:

  • PROPFIND — Used to retrieve properties, stored 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.

Resource is HTTP's name for a referent: that which is pointed to by a URI.

[edit] Extensions and derivatives

  • For versioning, the Web Versioning and Configuration Management (Delta-V (Internet Protocol)) working group is the Versioning Extensions to WebDAV which put the V back into WebDAV.
  • For searching and locating, the DAV Searching and Locating (DASL) working group never produced any official standard although there are a number of implementations of its last draft (work continues as non-working-group activity, see DASL). However another, WebDav SEARCH attempts to pick up where it left off.
  • For calendaring, CalDAV is a protocol allowing calendar access via WebDAV. CalDAV models calendar events as HTTP resources in iCalendar format, and models calendars containing events as WebDAV collections.
  • For groupware, GroupDAV is a variant of WebDAV which allows client/server groupware systems to store and fetch objects such as calendar items and address book entries instead of web pages.

[edit] Current alternatives to WebDAV

Most of the work was put into developing the WebDAV specifications and recommendations in the late 1990s and since that time many other approaches to solving the same and similar problems have developed. WebDAV is an approach to what would now be called 'content management'.

Many content management systems now exist (CMS), with either proprietary or open on-line APIs that provide similar functionality to WebDAV.

Remote content can still be managed by the traditional methods based on FTP and its derivatives[4]. Versioning and file-locking is also available as part of most revision control systems such as CVS and Subversion (SVN).

The SMB protocol allows Microsoft Windows and open-source Samba clients to access and manage files and folders remotely on a suitable file server. More recently, Microsoft introduced and developed a range of SharePoint server products that also allow remote authors to manage lists and folders of remote, shared files.

Wiki systems also allow distributed authors to use HTTP (without WebDAV) collaboratively to build and develop web sites that are hosted remotely on the internet.[5]

The HTTP, web service APIs of CMS, Wiki, blog, revision control and other modern, remote, collaborative authoring and versioning systems may be based on XML SOAP, which uses the HTTP 'POST' and 'GET' verbs almost exclusively. Alternatively, they may use RESTful techniques, so that in addition to 'GET' and 'POST', other HTTP verbs such as 'PUT' and 'DELETE' also get used meaningfully, in ways that are comparable to WebDAV. Note that WebDAV also specifies more specialised verbs such as 'COPY', 'MOVE', 'LOCK' etc., as described above.

[edit] Microsoft Windows clients

Microsoft introduced WebDAV client support in Microsoft Windows 98 with a feature called "Web folders". This client was simply an extension to Windows Explorer (the desktop/file manager) and was later included in Windows 2000. In Windows XP, Microsoft changed the client to the "WebDAV mini-redirector". This new client works at the file-system level, allowing WebDAV shares to be assigned to a drive letter and used by any software. However, all versions of the redirector have serious bugs[1]. It has been known to try to convert HTTP URLs to UNC paths e.g http://host/path/ is erroneously converted to \\host\path\. It also often fallaciously uses Windows Domain authentication when answering HTTP basic-auth challenges. One known technique that may work around the first problem is to explicitly specify a port number in the URL e.g http://host:80/path/; another possible fix is to specify the user in the URL http://user@host.tld/path/. This reportedly forces the use of the old "Web folders" client. [6] In addition, WebDAV over HTTPS works only if KB892211-version files or newer are installed on the computer. Otherwise Windows displays, 'The folder you entered does not appear to be valid. Please choose another' when adding a network resource.

In Windows Vista, only the WebDAV redirector is present; the original "Web folders" client has been removed. The "Web folders" client is only present if the Microsoft Update for Web Folders is installed. [7]

[edit] See also

[edit] External links

[edit] References

Personal tools