WebDAV

Web Distributed Authoring and Versioning (WebDAV) is an extension of the Hypertext Transfer Protocol (HTTP) that facilitates collaboration between users in editing and managing documents and files stored on World Wide Web servers. WebDAV was defined in RFC 4918 by a working group of the Internet Engineering Task Force (IETF).

The WebDAV protocol makes the Web a readable and writable medium.[1] It provides a framework for users to create, change and move documents on a server (typically a web server or "web share"). The most important features of the WebDAV protocol include maintenance of properties, such as the creation, removal, and querying of file information, for example about author or modification date, and namespace management, which is the ability to copy and move Web pages within a server's namespace, collections (creation, removal, and listing of resources) and overwrite prevention (locking).

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.

As of 2011 many modern operating systems provide built-in support for WebDAV.

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]Tim Berners-Lee's original vision of the Web was that of a medium for both reading and writing. 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 a read-only medium for most users. Whitehead and other like-minded people wanted to fix that limitation.[4]

The W3C meeting decided 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 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. 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. The added methods include:

WebDAV implementations

WebDAV client applications

Linux

Linux users can mount WebDAV shares using the davfs2 and the fusedav file system modules which mount them as Coda or FUSE filesystems. KDE has native WebDAV support as part of kio_http.[5] This enables Dolphin, Konqueror,[6] and every other KDE application to interact directly with WebDAV servers. Nautilus[7] also has WebDAV support built in. Many Linux distributions also include the cadaver command-line client interface[8], which provides an FTP-like command set. The Apache HTTP Server provides WebDAV modules based on both davfs and Apache Subversion (svn).

Mac OS X

Mac OS X version 10.0 and following support WebDAV shares natively as a type of filesystem. The system can mount WebDAV-enabled server directories to the filesystem using the traditional BSD mounting mechanism or, more comfortably, through the 'Connect to Server' dialog found in the Finder. Mac OS X version 10.1.1 introduced support for HTTP Digest Access authentication. Mac OS X 10.4 (Tiger) extended WebDAV interoperability to include support for the https scheme, proxies,... and additional methods of authentication.[9]

The Finder presents a WebDAV share as an external disk, allowing users to interact with WebDAV just as they would with any other filesystem. Apple's iDisk, part of its former MobileMe service, used WebDAV for file access.[10]

Microsoft Windows

Microsoft introduced WebDAV client support in Microsoft Windows 98 with a feature called "Web folders". This client consisted of an OLE object which could be accessed by any OLE software, and was installed as an extension to Windows Explorer (the desktop/file manager) and was later included in Windows 2000.

In Windows XP, Microsoft added the "WebDAV mini-redirector" which is preferred by default over the old Web folders client. This newer client works as a system service at the network-redirector level (immediately above the file-system), allowing WebDAV shares to be assigned to a drive letter and used by any software. The redirector also allows WebDAV shares to be addressed via UNC paths (e.g. http://host/path/ is converted to \\host\path\) for compatibility with Windows filesystem APIs.

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

Some versions of the redirector are reported to have some limitations in authentication support.[16] This includes the fact that some versions disable basic authentication for HTTP connections for security purposes. Suggested workarounds for problems in some versions include:[citation needed]

In addition, WebDAV over HTTPS works only if a computer has KB892211-version files or newer installed. Otherwise Windows displays "The folder you entered does not appear to be valid. Please choose another" when adding a network resource. NOTE: 892211 has been superseded by KB907306.

Windows Vista includes only the WebDAV redirector, but if you install a version of Office, Internet Explorer, OLE-DB or "Microsoft Update for Web Folders" you will get the original "Web folders" client. The update will only work on the 32-bit version of XP/Vista.[18] Microsoft state that 64 bit versions of Windows will never support WebDAV as such but will use their proprietary "Web Client service redirector".[19]

WebDAV server software

Alternatives to WebDAV

File Transfer Protocol (FTP) is a simple network protocol based on IP, which allows users to transfer files between network hosts. FTPS is an extension for secure traffic. WebDAV is considered a suitable replacement to solve the security and technical problems of FTP.[citation needed]

SSH File Transfer Protocol (SFTP) is an extension of the Secure Shell protocol (SSH) version 2.0 to provide secure file transfer capability.

A distributed file system such as the Server Message Block (SMB) protocol allows Microsoft Windows and open-source Samba clients to access and manage files and folders remotely on a suitable file server.

AtomPub is an HTTP-based protocol for creating and updating web resources, which can be used for some of the use cases of WebDAV. It is based on standard HTTP verbs with standardized collection resources that behave somewhat like the WebDAV model of directories.

CMIS is a standard consisting of a set of Web services for sharing information among disparate content repositories that seeks to ensure interoperability for people and applications using multiple content repositories; it has both SOAP and AtomPub based interfaces.

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

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 [22] in favor of Exchange Web Services (EWS), a SOAP/XML based API. See this 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.

See also

References

  1. ^ "Realising the Full Potential of the Web". http://www.w3.org/1998/02/Potential.html. 
  2. ^ "Proposed agenda for San Mateo Meeting". 1996. http://lists.w3.org/Archives/Public/w3c-dist-auth/1996AprJun/0002.html. 
  3. ^ "Brief mtg. summary". 1996. http://lists.w3.org/Archives/Public/w3c-dist-auth/1996JulSep/0095.html. 
  4. ^ "Re: Updated agenda". http://lists.w3.org/Archives/Public/w3c-dist-auth/1996JulSep/0001.html. 
  5. ^ Preliminary webdav support in kio_http
  6. ^ indoglobal.com: KDE Konqueror
  7. ^ Connecting to WebDAV server using Gnome Nautilus
  8. ^ cadaver
  9. ^ Mac OS X Man Page for mount_webdav(8)
  10. ^ Overview of Mac OS X File Systems
  11. ^ "WSPP – Windows Server Protocols documentation". 2011. http://msdn.microsoft.com/en-us/library/cc964399.aspx. 
  12. ^ "MS-WDVME – Web Distributed Authoring and Versioning (WebDAV) Protocol: Microsoft Extensions". 2011. http://msdn.microsoft.com/en-us/library/cc250108.aspx. 
  13. ^ "MS-WDV – Web Distributed Authoring and Versioning (WebDAV) Protocol: Client Extensions". 2011. http://msdn.microsoft.com/en-us/library/cc250046.aspx. 
  14. ^ "MS-WDVSE – Web Distributed Authoring and Versioning (WebDAV) Protocol: Server Extensions". 2011. http://msdn.microsoft.com/en-us/library/cc250200.aspx. 
  15. ^ "MS-WEBDAVE – Web Distributed Authoring and Versioning Error Extensions Protocol Specification". 2011. http://msdn.microsoft.com/en-us/library/cc313126.aspx. 
  16. ^ WebDAV Mini-Redirector (MRXDAV.SYS) Versions and Issues List
  17. ^ WebDAV client interoperability
  18. ^ Windows Vista Client Setup Instructions
  19. ^ [1]
  20. ^ DASL
  21. ^ WebDav SEARCH
  22. ^ Discontinued Features: Exchange 2010 SP1 Help Microsoft TechNet

External links