WebDAV
From Wikipedia, the free encyclopedia
Web-based Distributed Authoring and Versioning, or WebDAV, is a set of extensions to the Hypertext Transfer Protocol (HTTP) that allows computer-users to edit and manage files collaboratively on remote World Wide Web servers. RFC 4918 defines the extensions. 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 interactivity, 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 has obvious uses when 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 include:
- locking ("overwrite prevention")
- properties (creation, removal, and querying of information about author, modified date et cetera);
- name space management (ability to copy and move Web pages within a server's namespace)
- collections (creation, removal, and listing of resources)
As of 2009[update] many modern operating systems provide built-in support for WebDAV.
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, will be finished by their individual authors, independent of the formal working group.
Contents |
[edit] 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 envisaged 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, for most users, a read-only medium. Whitehead and other like-minded people wanted to fix that limitation.[4]
The W3C meeting 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 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:
- 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. 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
[edit] Implementations
[edit] Linux
Linux users can mount WebDAV shares using davfs2 or fusedav which mount them as coda or FUSE filesystems. KDE has native WebDAV support as part of kio_http[5]. This enables Konqueror[6] and every other KDE application to interact directly with WebDAV servers. Nautilus[7] also has WebDAV support built in. The cadaver command-line client, which provides an FTP-like command set, is included in many Linux distributions.
[edit] 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. 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.[8]
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 uses WebDAV for file access.[9]
[edit] 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. However, some versions of the redirector are known to have some limitations in authentication support.[10] Recent versions are known to disable basic authentication for HTTP connections for security purposes. Some suggested workarounds for problems in some versions include:[citation needed]
- 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.[11]
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 unless a version of Office, Internet Explorer, OLE-DB or "Microsoft Update for Web Folders" has been installed which includes the original "Web folders" client. The update will only work on the 32bit version of XP/Vista.[12]
[edit] Current alternatives to WebDAV
The SMB protocol allows Microsoft Windows and open-source Samba clients to access and manage files and folders remotely on a suitable file server.
CMIS is a standards proposal 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.
More recently[when?], Microsoft introduced and developed a range of SharePoint server products that also allow remote authors to manage lists and folders of remote, shared files. SharePoint server uses webdav as back end to document content module.
As of 2009[update] many CMS, wiki, blog, revision control and other authoring and versioning systems are based on XML SOAP web service APIs, using the HTTP 'POST' and 'GET' verbs. If they use RESTful techniques, then other HTTP verbs such as 'PUT' and 'DELETE' may also be deployed meaningfully in ways that are comparable to WebDAV[citation needed] . WebDAV also specifies more specialised verbs such as 'COPY', 'MOVE', 'LOCK' etc., as described above.
[edit] 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
[edit] 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
- a calendar access protocol: "Calendaring Extensions to WebDAV (CalDAV)" RFC 4791
- a query protocol: "Web Distributed Authoring and Versioning (WebDAV) SEARCH" RFC 5323
- an extension to the WebDAV ACL specification: "WebDAV Current Principal Extension" RFC 5397
- an extension to the WebDAV MKCOL method: "Extended MKCOL for Web Distributed Authoring and Versioning (WebDAV)" RFC 5689
[edit] 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, see DASL). One implementation, WebDav SEARCH, attempts to pick up where the working group left off, and was published as RFC 5323 in November 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 Exchange interoperability, WebDAV can be used for reading/updating/deleting items in a mailbox or public folder. WebDAV for Exchange has been extended[by whom?] to accommodate working with messaging data. Exchange Server version 2000, 2003 and 2007 support WebDAV. 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.
[edit] See also
[edit] References
- ^ "Realising the Full Potential of the Web". http://www.w3.org/1998/02/Potential.html.
- ^ "Proposed agenda for San Mateo Meeting". 1996. http://lists.w3.org/Archives/Public/w3c-dist-auth/1996AprJun/0002.html.
- ^ "Brief mtg. summary". 1996. http://lists.w3.org/Archives/Public/w3c-dist-auth/1996JulSep/0095.html.
- ^ "Re: Updated agenda". http://lists.w3.org/Archives/Public/w3c-dist-auth/1996JulSep/0001.html.
- ^ http://lists.kde.org/?l=kfm-devel&m=100976544730730&w=2
- ^ http://manual.intl.indoglobal.com/apbs02.html
- ^ http://www.webdavsystem.com/server/access/gnome_nautilus
- ^ Mac OS X Man Page for mount_webdav(8)
- ^ Overview of Mac OS X File Systems
- ^ WebDAV Mini-Redirector (MRXDAV.SYS) Versions and Issues List
- ^ WebDAV client interoperability
- ^ Windows Vista Client Setup Instructions