WebDAV

Source: Wikipedia, the free encyclopedia.
WebDAV
RFC 4918
Websitewww.webdav.org

WebDAV (Web Distributed Authoring and Versioning) is a set of extensions to the

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 modern operating systems provide built-in client-side support for WebDAV.

History

WebDAV began in 1996 when

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

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 extends the set of standard HTTP verbs and headers allowed for

request methods
. The added verbs include:

Verb Action
COPY copy a resource from one
uniform resource identifier
(URI) to another
LOCK put a lock on a resource. WebDAV supports both shared and exclusive locks.
MKCOL create collections (also known as a
directory
)
MOVE move a resource from one URI to another
PROPFIND retrieve properties, stored as
overloaded
to allow one to retrieve the collection structure (also known as directory hierarchy) of a remote system.
PROPPATCH change and delete multiple properties on a resource in a single atomic act
UNLOCK remove a lock from a resource

Properties

The properties of WebDAV protocol are

methods to handle the properties are PROPFIND and PROPPATCH.[9]

Server support

  • iceWarp provides Webdav inbuilt functionality to its web client and Desktop Applications, *DAV support: CalDAV, CardDAV, Web Documents and collaborative editing.
  • .
  • Caddy has an optional WebDAV module.[10]
  • EGroupware, a Groupware with full *DAV support: CalDAV, CardDAV and WebDAV for file manager.[11]
  • lighttpd has an optional WebDAV module.[12]
  • Mailfence offers WebDAV support through a virtual drive+ you can connect external drives to Mailfence Documents.[13]
  • Nextcloud is a fork of ownCloud, and therefore also offers full WebDAV support.[14]
  • Nginx has a very limited optional WebDAV module[15] (Note: full WebDAV support for IIS 7 was provided through a separate download that was discontinued in July 2021.[16]).
  • Rclone includes support for WebDAV through the serve webdav command.[17]

Client support

WinSCP from Martin Přikryl

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

.

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.

RFC 5323 in November 2008.[19]

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[20] 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,[21] Microsoft published the following protocol documents detailing extensions to WebDAV:

  • [MS-WDVME]: Web Distributed Authoring and Versioning (WebDAV) Protocol: Microsoft Extensions.[22] These extensions include a new verb and new headers, and properties that enable previously unmanageable file types and optimize protocol interactions for file system clients. These extensions introduce new functionality into WebDAV, optimize processing, and eliminate the need for special-case processing.
  • [MS-WDV]: Web Distributed Authoring and Versioning (WebDAV) Protocol: Client Extensions.[23] The client extensions in this specification extend the WebDAV Protocol by introducing new headers that both enable the file types that are not currently manageable and optimize protocol interactions for file system clients. These extensions do not introduce new functionality into the WebDAV Protocol, but instead optimize processing and eliminate the need for special-case processing.
  • [MS-WDVSE]: Web Distributed Authoring and Versioning (WebDAV) Protocol: Server Extensions.[24] The server extensions in this specification extend WebDAV by introducing new HTTP request and response headers that both enable the file types that are not currently manageable and optimize protocol interactions for file system clients. This specification also introduces a new WebDAV method that is used to send search queries to disparate search providers.
  • [MS-WEBDAVE]: Web Distributed Authoring and Versioning Error Extensions Protocol Specification.[25] This SharePoint Front-End Protocol describes extended error codes and extended error handling mechanism specified in [MS-WDV] to enable compliant servers to report error condition details on a server response.

WebDAV clients

Client Creator Operating system support License Interface
Cyberduck David V. Kocher Windows, macOS GPL GUI
davfs2 GNOME team FUSE GPL VFS
davix
CERN Windows, Linux, macOS LGPL
CLI
GVfs GNOME team GNOME GPL VFS
KIO KDE team KDE GPL VFS
Konqueror KDE team KDE GPL GUI
GNOME Files GNOME team GNOME GPL
GUI
SmartFTP SmartSoft Ltd Windows Proprietary GUI
WebDrive South River Technologies Windows, macOS, iOS, Android Proprietary VFS
WinSCP Martin Přikryl Windows GPL
CLI and GUI

WebDAV libraries

Libraries Creator Operating system or platform License Language
Apache Wink Apache Software foundation JVM Java
Apache Tomcat Apache Software foundation JVM Java
Apache Jackrabbit Apache Software foundation JVM ASF Java
sabre/dav fruux Windows, Linux, macOS
New BSD
PHP


Alternatives to WebDAV

See also

References

  1. ^ Whitehead & Goland 1999, p. 293.
  2. ^ Whitehead 1998, p. 34.
  3. ^ Whitehead & Goland 1999, p. 294.
  4. ^ "Proposed agenda for San Mateo Meeting". 1996.
  5. ^ "Brief mtg. summary". 1996.
  6. ^ "Re: Updated agenda".
  7. ^ Whitehead 1998, p. 40.
  8. ^ Whitehead 1998, p. 39-40.
  9. ^ Whitehead & Goland 1999, p. 299.
  10. ^ "Module http.handlers.webdav - Caddy Documentation". Retrieved 2 September 2022.{{cite web}}: CS1 maint: url-status (link)
  11. ^ "Access to EGroupware via WebDAV (CalDAV/CardDAV)". Retrieved 14 October 2021.
  12. ^ "lighttpd mod webdav".
  13. ^ "WebDAV implementation of Mailfence". Retrieved 5 May 2020.
  14. ^ "Nextcloud 18 User Manual". nextcloud.com. Retrieved 22 February 2020.
  15. ^ "Module ngx_ht=2021-10-20". {{cite web}}: Missing or empty |url= (help)
  16. ^ "WebDAV Extension for IIS". IIS.net. Retrieved 20 October 2021.
  17. ^ "rclone serve webdav". rclone.org. Retrieved 29 April 2022.
  18. ^ DASL Archived 2004-06-03 at the Wayback Machine
  19. ^ WebDav SEARCH
  20. ^ Discontinued Features: Exchange 2010 SP1 Help Microsoft TechNet
  21. ^ "WSPP – Windows Server Protocols documentation". 2011.
  22. ^ "MS-WDVME – Web Distributed Authoring and Versioning (WebDAV) Protocol: Microsoft Extensions". 2014.
  23. ^ "MS-WDV – Web Distributed Authoring and Versioning (WebDAV) Protocol: Client Extensions". 2011.
  24. ^ "MS-WDVSE – Web Distributed Authoring and Versioning (WebDAV) Protocol: Server Extensions". 2011.
  25. ^ "MS-WEBDAVE – Web Distributed Authoring and Versioning Error Extensions Protocol Specification". 2011.
  26. ^ Rau, Thomas (19 October 2017). "Filme, Musik & Bilder im Heimnetzwerk streamen". PC-WELT (in German). Retrieved 5 November 2020.

External links