WebDAV
application | WebDAV / HTTP | ||||
transport | TCP | ||||
Internet | IP ( IPv4 , IPv6 ) | ||||
Network access | Ethernet |
Token bus |
Token ring |
FDDI | ... |
WebDAV ( Web- based D istributed A uthoring and V ersioning ) is a network protocol for making files available over the Internet . It is based on the Hypertext Transfer Protocol (HTTP / 1.1). Entire directories can be transferred with WebDAV. In addition, one is version control specified. WebDAV is defined in the RFC 4918 standard . The CalDAV and CardDAV protocols , which are used to synchronize calendar and address data, are based on WebDAV .
Benefits of WebDAV
Due to the enormous spread of the World Wide Web , port 80 used by HTTP is one of the ports that are usually not blocked by firewalls . While other transmission methods such as the File Transfer Protocol (FTP) or SSH (in connection with scp or SFTP ) often require additional firewall ports to be opened, this is not necessary with WebDAV, as it is based on HTTP and therefore only requires port 80. Opening additional ports on a firewall increases the time and effort required by system administrators and may pose additional security risks. In addition, the server can be implemented within an existing HTTP server.
In the meantime, there are direct WebDAV implementations for every operating system (including smartphones ) that enable WebDAV to be integrated into the system or at least to be accessed via a file manager.
Since user rights are also supported, it is a real and far more secure alternative to Samba or Windows shares, especially for remote access.
history
Three working groups of the Internet Engineering Task Force have worked on WebDAV to create network standards based on HTTP with which documents and files can be changed and written in the network. These groups are the WebDAV Working Group , the DASL Working Group, and the Delta-V Working Group .
WebDAV working group
The WebDAV working group was initiated by Jim Whitehead , a member of the W3C , to start a discussion on distributed authoring on the World Wide Web . It was the original vision of the WWW, as advocated by Tim Berners-Lee , that the Web should be both a readable and editable medium, and Berners-Lee's first web browser , called WorldWideWeb , was actually capable of doing that, pages too permanent editing. However, the rapid growth of the web in the 1990s drowned the idea of distributed authoring , so that it developed into today's largely read-only medium. However, today's HTTP specifications still contain HTTP requests PUT
and DELETE
, which are rejected by the vast majority of web servers with the HTTP status error "405 Method Not Allowed". Whitehead and his associates have set themselves the goal of lifting this restriction as part of the WebDAV working group.
The group that met at a W3C meeting in December 1995 decided that the best course of action would be to set up an IETF working group. The IETF seemed the most obvious because HTTP was standardized there and it was assumed that the ultimate outcome of this working group would be an extension of HTTP.
When work on the protocol began in November 1996, it became clear that dealing with both the distributed authoring and version control aspects would be too much at once and that the tasks would have to be divided among several groups. The WebDAV working group decided to focus on distributed authoring initially and to leave the version control mechanism for later. Some members jokingly suggested that the group should be renamed WebDA.
Several documents have emerged from the WebDAV working group to date:
- Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web, RFC 2291
- a collection of requirements
- HTTP Extensions for Distributed Authoring - WebDAV, RFC 2518
- the (original) basic protocol
- Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol, RFC 3648
- Sorting directory entries
- Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol, RFC 3744
- Access rights
- Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections, RFC 4331
- Quotas
- Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources, RFC 4437
- Handling of "redirects"
- HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV), RFC 4918
- an updated version of the basic protocol
The WebDAV working group was dissolved in spring 2007.
The working groups DASL and Delta-V
Further IETF working groups emerged from the WebDAV group , including the DAV Searching and Locating group (DASL) and the Web Versioning and Configuration Management ( Delta-V ) working group. The DASL never produced an official standard, but a draft was further developed outside the working group and is now available as RFC 5323 . The Delta-V defined the Versioning Extensions to WebDAV ( RFC 3253 ), with which WebDAV now rightly WebDAV may call.
Technical background
The WebDAV protocol extends the existing Hypertext Transfer Protocol with a set of new methods and header attributes.
HTTP method | description |
---|---|
PROPFIND
|
is used to find out properties, stored as XML , of a resource . It is also used (“ overloaded ”) to determine the directory structure of a remote system |
PROPPATCH
|
changes and deletes several properties of a resource in a single request (an " atomic act ") |
MKCOL
|
creates a directory (called "Collection" in WebDAV) |
COPY
|
Copies a resource, the file names are in the form of a URI indicated |
MOVE
|
Moves a resource (using the same syntax as COPY )
|
DELETE
|
Deletes a resource (using the same syntax as COPY )
|
LOCK
|
Instructs the web server to lock the resource . This is to prevent that the resource is otherwise processed on the server while the requesting client is doing this. |
UNLOCK
|
Removes the lock |
In this sense, resource is an HTTP-specific term that can be roughly defined as “the thing that a URI points to”. These are usually files on the web server.
WebDAV and Reverse Proxy
WebDAV can also be operated behind a reverse proxy . If you use the user administration of WebDAV, you have to tell the proxy to handle the authentication on the web server. For example at Squid :
– cache_peer webserver ..... login=FALSE
Implementations
WebDAV is implemented in all common web servers and in many file managers . Microsoft has supported it rudimentarily since Windows XP like a conventional file system , Apple since macOS and every major Linux distribution.
The DAV module mod_dav is included with the Apache HTTP Server . It can be expanded with the Catacomb WebDAV server .
It is also supported on Android , iOS and some other smartphone operating systems via an app .
Owncloud and Nextcloud are PHP -based cloud storage services and offer full WebDAV support.
See also
Web links
- Official WebDAV homepage with software overview
- Information about the basics of WebDAV from "com! Professional" accessed on March 5, 2015
- WebDAV with Apache server at Heise Netze
- WebDAV with Microsoft's IIS at Heise Netze
- WebDAV with JAX-RS , i.e. based on Java EE on java.net
-
RFCs
- RFC 2291 - Requirements for a Distributed Authoring and Versioning Protocol for the World Wide Web
- RFC 2518 - HTTP Extensions for Distributed Authoring - WEBDAV
- RFC 3253 - Versioning Extensions to WebDAV
- RFC 3648 - Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol
- RFC 3744 - Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol
- RFC 4316 - Datatypes for Web Distributed Authoring and Versioning (WebDAV) Properties
- RFC 4331 - Quota and Size Properties for Distributed Authoring and Versioning (DAV) Collections
- RFC 4437 - Web Distributed Authoring and Versioning (WebDAV) Redirect Reference Resources
- RFC 4918 - HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)
- RFC 5323 - Web Distributed Authoring and Versioning (WebDAV) SEARCH
- RFC 6578 - Collection Synchronization for Web Distributed Authoring and Versioning (WebDAV)
Individual evidence
- ↑ Browser “WorldWideWeb” on w3.org
- ↑ Accessing Nextcloud files using WebDAV. Retrieved February 22, 2020 .