WebDAV

Last updated
WebDAV
Communication protocol
OSI layer Application
Port(s) 80, 443
RFC(s) RFC   2518, RFC   4918
Website www.webdav.org

WebDAV (Web Distributed Authoring and Versioning) is a set of extensions to the Hypertext Transfer Protocol (HTTP), which allows user agents to collaboratively author contents directly in an HTTP web server by providing facilities for concurrency control and namespace operations, thus allowing the Web to be viewed as a writeable, collaborative medium and not just a read-only medium. [1] WebDAV is defined in RFC   4918 by a working group of the Internet Engineering Task Force (IETF). [2]

Contents

The WebDAV protocol provides a framework for users to create, change and move documents on a server. The most important features include the maintenance of properties about an author or modification date, namespace management, collections, and overwrite protection. Maintenance of properties includes such things as the creation, removal, and querying of file information. Namespace management deals with the ability to copy and move web pages within a server's namespace. Collections deal with the creation, removal, and listing of various resources. Lastly, overwrite protection handles aspects related to the locking of files. It takes advantage of existing technologies such as Transport Layer Security, digest access authentication or XML to satisfy those requirements. [3]

Many[ which? ] modern operating systems provide built-in client-side support for WebDAV.[ citation needed ]

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. [4] [5] Tim Berners-Lee's original vision of the Web involved a medium for both reading and writing. In fact, Berners-Lee's first web browser, called WorldWideWeb, could both view and edit web pages; but, as the Web grew, it became a read-only medium for most users. Whitehead and other like-minded people wanted to transcend that limitation. [6] [7]

The meetings resulted in the formation of an IETF working group because the new effort would lead to extensions to HTTP, which the IETF had started to standardize.

As work began on the protocol, it became clear that handling both distributed authoring and versioning together would involve 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. (The Delta-V extension added versioning later  see the Extensions section below.)

The WebDAV working group concluded its work in March 2007, after the Internet Engineering Steering Group (IESG) accepted an incremental update to RFC   2518. Other extensions left unfinished at that time, such as the BIND method, have been finished by their individual authors, independent of the formal working group. [8]

Implementation

WebDAV collaborative authoring in a compatible HTTP server WebDAV collaborative authoring.png
WebDAV collaborative authoring in a compatible HTTP server

WebDAV extends the set of standard HTTP verbs and headers allowed for request methods. The added verbs include:

VerbAction
COPYcopy a resource from one uniform resource identifier (URI) to another
LOCKput a lock on a resource. WebDAV supports both shared and exclusive locks.
MKCOLcreate collections (also known as a directory)
MOVEmove a resource from one URI to another
PROPFINDretrieve properties, stored as XML, from a web resource. It is also overloaded to allow one to retrieve the collection structure (also known as directory hierarchy) of a remote system.
PROPPATCHchange and delete multiple properties on a resource in a single atomic act
UNLOCKremove a lock from a resource

Properties

The properties of WebDAV protocol are name–value pair, in which a "name" is a Uniform Resource Identifier (URI) and the "values" are expressed through XML elements. Furthermore, the methods to handle the properties are PROPFIND and PROPPATCH. [9]

Documents produced by the working group

The WebDAV working group produced several works:

Other documents published through IETF

Extensions and derivatives

For versioning, the Delta-V protocol under the Web Versioning and Configuration Management working group adds resource revision tracking, published in RFC   3253.

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 continued as non-working-group activity. [10] The WebDAV Search specification attempts to pick up where the working group left off, and was published as RFC   5323 in November 2008. [11]

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 MS Exchange interoperability, WebDAV can be used for reading/updating/deleting items in a mailbox or public folder. WebDAV for Exchange has been extended by Microsoft to accommodate working with messaging data. Exchange Server version 2000, 2003, and 2007 support WebDAV. However, WebDAV support has been discontinued in Exchange 2010 [12] in favor of Exchange Web Services (EWS), a SOAP/XML based API.

Additional Windows-specific extensions

As part of the Windows Server Protocols (WSPP) documentation set, [13] Microsoft published the following protocol documents detailing extensions to WebDAV:

WebDAV clients

ClientCreatorOperating system supportLicenseInterface
Cyberduck David V. KocherWindows, macOS GPL GUI
davfs2 GNOME teamFUSE GPL VFS
davix CERNWindows, Linux, macOS LGPL CLI
EasySync Samuel CHEMLAAndroid MIT service
GVfs GNOME teamGNOME GPL VFS
KIO KDE teamKDE GPL VFS
Konqueror KDE teamKDE GPL GUI
GNOME Files GNOME teamGNOME GPL GUI
SmartFTP SmartSoft LtdWindowsProprietary GUI
WebDrive South River TechnologiesWindows, macOS, iOS, AndroidProprietary VFS
WinSCP Martin PřikrylWindows GPL CLI and GUI
WebClient (Deprecated) [18] Microsoft Windows Same as Windows service

WebDAV libraries

LibrariesCreatorOperating system or platformLicenseLanguage
Apache Wink Apache Software foundationJVM Java
Apache Tomcat Apache Software foundationJVM Java
Apache Jackrabbit Apache Software foundationJVM ASF Java
sabre/dav fruux Windows, Linux, macOS New BSD PHP

Alternatives to WebDAV

See also

References