Jump to content

WebDAV: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
m gen fixes + apply Template:Lang using AWB
Line 12: Line 12:
At the W3C meeting, it was decided that the best way to proceed was to form an [[Internet Engineering Task Force|IETF]] working group, because the new effort would lead to [[extension (computing)|extension]]s to [[HTTP]], which was being standardized at the IETF.
At the W3C meeting, it was decided that the best way to proceed was to form an [[Internet Engineering Task Force|IETF]] working group, because the new effort would lead to [[extension (computing)|extension]]s to [[HTTP]], which was being standardized at the IETF.


As work began on the protocol, it became clear that handling both distributed authoring and [[Revision control|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 [[Delta-V (Internet Protocol)|the Delta-V extension]] — see the Extensions section below.
As work began on the protocol, it became clear that handling both distributed authoring and [[Revision control|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 [[Delta-V (Internet Protocol)|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]].
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]]
{{fact}}.


== Documents produced by the working group ==
== Documents produced by the working group ==

Revision as of 14:00, 1 October 2008

Web-based Distributed Authoring and Versioning, or WebDAV, is a set of extensions to the Hypertext Transfer Protocol (HTTP) that 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 WebDAV protocol allows "Intercreativity," making the Web a readable and writable medium, in line with Tim Berners-Lee's original vision.[1] It allows users to create, change and move documents on a remote server (typically a web server or "web share"). This is useful for authoring the documents that a web server serves, but it can also be used for storing files on the web, so that the files can be accessed from anywhere. The most important features of the WebDAV protocol are: 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 a fast network and the right client, it is 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 method, will be finished by their individual authors, independent of the formal working group.

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.[2][3] 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.[4]

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[citation needed].

Documents produced by the working group

The WebDAV working group produced several works:

  • a requirements document: "Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web" RFC 2291, issued February 1998,
  • a base protocol document (excluding versioning, despite its title): "HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)" RFC 4918, issued June 2007 (which updates and supersedes "HTTP Extensions for Distributed Authoring — WebDAV" RFC 2518, issued February 1999),
  • the ordered collections protocol: "Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol" RFC 3648, issued December 2003,
  • the access control protocol: "Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol" RFC 3744, issued May 2004,
  • a quota specification: "Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections" RFC 4331, issued February 2006,
  • a redirect specification: "Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources" RFC 4437, issued March 2006.

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.

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.

Extensions and derivatives

  • For versioning, the Web Versioning and Configuration Management 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, and was approved for publication by the IESG on September 11, 2008.
  • 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.
  • For going against Exchange Server, WebDAV can be used for reading/updating/deleting items in a mailbox or public folder. WebDAV for Exchange has been extended to accommodate working with messaging data. Exchange Server version 2000, 2003 and 2007 support WebDAV. Here is a training paper on WebDAV for Exchange (it also covers WebDAV usage overall and includes samples), WebDAV 101 Training. This blog covers WebDAV development WebDAV 101.

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.[5] Versioning and file-locking is also available as part of most revision control systems such as CVS and Subversion (SVN) (which happens to use WebDAV as one of its transports).

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.[6]

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.

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 newer client works at the file-system level, allowing WebDAV shares to be assigned to a drive letter and used by any software. However, most versions of the redirector have serious bugs.[7] It has been known to try to convert HTTP URLs to UNC paths e.g. http://host/path/ is erroneously converted to \\host\path\. Furthermore, it often incorrectly uses Windows Domain authentication when answering HTTP basic-auth challenges. Some workarounds are:

  • To work around the first problem explicitly specify a port number in the URL e.g. http://host:80/path/
  • Use a fully qualified domain name: NET USE Z: http://drive.example.org/drive
  • Specify the user in the URL http://user@host.tld/path/. This reportedly forces the use of the old "Web folders" client.[8] 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. This will only work on the 32bit version of Vista.[9]

See also

External links

References

  1. ^ "Realising the Full Potential of the Web".
  2. ^ "Proposed agenda for San Mateo Meeting". 1996.
  3. ^ "Brief mtg. summary". 1996.
  4. ^ "Re: Updated agenda".
  5. ^ WebDAV based Open Source Collaborative Development Environment
  6. ^ XML RPC to Wiki discussion
  7. ^ WebDAV Mini-Redirector (MRXDAV.SYS) Versions and Issues List
  8. ^ WebDAV client interoperability
  9. ^ Windows Vista Client Setup Instructions