Web Distributed Authoring and Versioning ( WebDAV ) is an extension of Hypertext Transfer Protocol (HTTP) that allows clients to perform remote web content creation operations. WebDAV is defined in RFC 4918 by the working group of the Internet Engineering Task Force.
The WebDAV protocol provides a framework for users to create, modify and move documents on the server. The most important features of the WebDAV protocol include property maintenance about the author or date of modification, namespace management, collections, and overwriting protection. Property maintenance includes things like file creation, deletion and query information. The namespace management set the ability to copy and move web pages within the server name space. Collections deal with the creation, deletion, and list of various resources. Finally, overwrite protection deals with aspects related to locking files.
Many modern operating systems provide client-side support for WebDAV.
Video WebDAV
Histori
WebDAV began in 1996 when Jim Whitehead, a PhD graduate from UC Irvine, worked with the World Wide Web Consortium (W3C) to host two meetings to discuss author issues distributed on the World Wide Web with interested people. Tim Berners-Lee's original vision of the Web involved a medium for reading and writing. In fact, Berners-Lee's first web browser, called WorldWideWeb, can view and edit web pages; but, as the Web progresses, it becomes a read-only medium for most users. Whitehead and other like-minded people want to go beyond that limit.
The W3C meeting decided to form an IETF work group, as new efforts will lead to extensions to HTTP, which the IETF began to standardize.
When work begins on the protocol, it becomes clear that the handling of authoring and shared versions together will involve too many tasks and tasks to be separated. The WebDAV group focuses on distributed authoring, and left-handed versions for the future. (Extension Delta-V added later version - see Extensions section below.)
The WebDAV working group concluded its work in March 2007, after the Internet Engineering Steering Group (IESG) received an additional update to RFC 2518. Other unfinished extensions at the time, such as the BIND method, were completed by their respective authors, independent of the formal working group.
Maps WebDAV
Implementation
WebDAV extends the set of standard HTTP verbs and headers that are allowed for query methods. Additional verbs include:
- COPY
- copy resources from one URI to another
- LOCK
- locks the resource. WebDAV supports shared and exclusive keys.
- MKCOL
- create a collection (a.k.a. directory)
- MOVE
- move resources from one URI to another
- PROPFIND
- takes the property, saved as XML, from the web source. It is also overloaded to allow one to retrieve the collection structure (also known as the directory hierarchy) of the remote system.
- PROPPATCH
- change and delete some properties on a resource in a single atomic action
- UNLOCK
- remove key from resource
Server support
- Apache HTTP Server provides WebDAV modules based on davfs and Apache Subversion (svn).
- IIS Microsoft also has a WebDAV module.
- Nginx has a very limited optional WebDav module and third party modules
- SaberDAV is a PHP application that can be used on Apache or Nginx instead of the bundled module
- Nextcloud is a PHP storage cloud application that offers full WebDAV support
- lighttpd has an optional WebDav module
Client support
- Git supports writing to remote HTTP, though the "smart" Git protocol for HTTP that requires dedicated server support made the preferred protocol via WebDAV
- Linux via GVfs, including GNOME Files and via KIO, including Konqueror and Dolphin
- macOS, including native support for CalDAV and CardDAV, designs based on WebDAV
- Microsoft Windows, including native support in Explorer
- Microsoft Office
- WebDAV software comparison
Documents generated by workgroup
The WebDAV workgroup produces several works:
- document requirements: "Requirements for Distributed Authors and Version Protocols for World Wide Web" RFC 2291, issued February 1998
- basic protocol document (excluding version, though the title): "HTTP Extensions for Web Deployment and WebDav (" WebDAV) "RFCÃ, 4918, released June 2007 (which updates and replaces" HTTP Extensions for Distributed AuthoringÃ,Ã WebDAV " RFCÃ, 2518, issued February 1999)
- Sorted collection protocols: "Authoring and Web Distributed Version (WebDAV) Ordered the Collection Protocol" RFCÃ, 3648, issued in December 2003
- access control protocol: "Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol" RFC 3744, published May 2004
- quota specification: "Quotas and Property Sizes for Distributed Authoring Collections and Versions (DAV)" RFC 4331, issued February 2006
- redirect specification: "Web Distributed Authoring and Versioning (WebDAV) Direct References Resources" RFC 4437, released March 2006
Other documents published via IETF
- version protocol: "Extensions to WebDAV (Web Distributed Authoring and Versioning) Version" RFCÃ, 3253 (created by Delta-V working group)
- the specification of the WebDAV property data type: "Data Type for Buffer and Web Editing Properties (WebDAV)" RFCÃ, 4316
- document that defines how to start installing WebDAV resources: "Server Mounting Web Distributed Authoring and Versioning (WebDAV)" RFCÃ, 4709
- calendar access protocol: "Calendar Extension to WebDAV (CalDAV)" RFCÃ, 4791
- request protocol: "Web Distributed Authoring and Versioning (WebDAV) SEARCH" RFCÃ, 5323
- extension for the WebDAV ACL specification: "Current WebDAV Main Extension" RFCÃ, 5397
- extension to WebDAV MKCOL method: "Extended MKCOL for Web Distributed Authoring and Versioning (WebDAV)" RFCÃ, 5689
- extensions from the collection model, define creation and invention of additional bindings into resources: "Bind Extensions to Web Distributed Authoring and Versioning (WebDAV)" RFCÃ, 5842
- applications from POST to WebDAV collections: "Using POST to Add Members to the Web Authority and Versioning Collection (WebDAV)" RFCÃ, 5995
- extensions that enable large-scale synchronization efficiently: "Synchronization Collection for Web Deployment and Creation (WebDAV)" RFCÃ, 6578
Extensions and descending
For versions, the Delta-V protocol under the Working Group Web Version and Configuration Management adds a revision resource tracking, published in RFC 3253.
To search and discover, the DAV Search and DASL Search group (DASL) team never produced official standards despite some implementations of their final draft. The work continued as a non-work-group activity. The WebDAV Search Specification tries to take the place of the remaining working groups, and is published as RFC 5323 in November 2008.
For calendaring, CalDAV is a protocol that allows calendar access via WebDAV. CalDAV models calendar events as HTTP resources in iCalendar format, and calendar models that contain events as WebDAV collections.
For groupware, GroupDAV is a variant of WebDAV that allows groupware client/server systems to store and retrieve objects such as calendar items and address book entries instead of web pages.
For MS Exchange interoperability, WebDAV can be used to read/update/delete items in a mailbox or public folder. WebDAV for Exchange has been extended by Microsoft to accommodate working with messaging data. Exchange Server versions 2000, 2003, and 2007 support WebDAV. However, WebDAV support has been discontinued in Exchange 2010 in support of Exchange Web Services (EWS), SOAP/XML based API.
Specific Windows-specific extensions
As part of the Windows Server Protocol (WSPP) protocol suite, Microsoft publishes the following protocol documents that break down the extensions to WebDAV:
- [MS-WDVME]: Web Protocol Distributed Authoring and Versioning (WebDAV): Microsoft Extensions. This extension includes new verbs and new headers, and properties that allow previously unmanageable file types and optimize protocol interactions for file system clients. This extension introduces new functionality into WebDAV, optimizes processing, and eliminates the need for custom case processing.
- [MS-WDV]: Web Protocol Distributed Authoring and Versioning (WebDAV): Client Extension. The client extensions in this specification expand the WebDAV Protocol by introducing a new header that enables file types that can not currently be managed and optimize protocol interactions for the file system client. This extension does not introduce new functions into the WebDAV Protocol, but it optimizes processing and eliminates the need for special case processing.
- [MS-WDVSE]: Web Protocol Distributed Authoring and Versioning (WebDAV): Server Extensions. The server extensions in this specification expand WebDAV by introducing new HTTP requests and response headers which both allow file types that are not currently managed and optimize protocol interactions for file system clients. This specification also introduces a new WebDAV method used to send search queries to different search providers.
- [MS-WEBDAVE]: Extension Extension Web Protocol Extensioning and Versioning Specification. This SharePoint Front-End Protocol describes the extended error code and extended error handling mechanisms specified in [MS-WDV] to allow the appropriate server to report detailed error conditions on the server response.
Alternative to WebDAV
- File Transfer Protocol (FTP), a simple IP-based network protocol, allows users to transfer files between network hosts. FTPS expands FTP for secure traffic.
- SSH File Transfer Protocol (SFTP), Secure Shell (SSH) version 2.0 protocol extension, provides secure file transfer capabilities
- Distributed file systems such as Server Message Block (SMB) protocols allow Microsoft Windows and open source Samba clients to access and manage files and folders remotely on the appropriate file server
- AtomPub, the HTTP-based protocol for creating and updating web resources, can be used for some cases of WebDAV usage. It's based on standard HTTP verbs with standard collection resources that behave somewhat like the WebDAV directory model.
- CMIS, a standard comprising a set of Web services to share information between different content repositories, seeks to ensure interoperability for people and applications that use some content storage; it has a SOAP- and AtomPub-based interface
- Wiki software, such as MediaWiki.
- Linked Data Platform (LDP), Linked Data specification that defines a set of integration patterns to build a RESTful HTTP service capable of reading and writing RDF data.
See also
- CalDAV
- CardDAV
- GroupDAV
- Content management
- Distributed file system
- Archive OSID
- ICE
References
External links
- WebDAV Resources
- The Davfs2 project
- The fusedav project
- Apache WebDAV Module
- WebDAV Drive Mapping Tool
Source of the article : Wikipedia