What Is WebDAV
What is WebDAV?
WebDAV stands for “Web-based Distributed Authoring and Versioning“.
It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers.
WebDAV extends the set of standard HTTP methods and headers to provide the ability to create a file or folder, edit a file in place, copy or move or delete a file, etc. As an extension to HTTP, WebDAV normally uses port 80 for unencrypted access and port 443 (HTTPS) for secure access.
To support collaborative authoring, the original specification of WebDAV included file locking, but it punted on the “versioning” part of DAV due to the complexity of the revision tracking domain. DeltaV (RFC 3253), the versioning and configuration management piece of WebDAV, was defined later. Searching capabilities were also added in a later extension (RFC 5323).
How does the WebDAV protocol work?
In order to use WebDAV to transfer data, both client and server must support the protocol. Since this is an established standard, all popular web servers actually enable corresponding implementation. And various operating systems such as Windows (since XP), macOS or Linux now also offer standard support for transmissions via the WebDAV protocol.
For example, with Windows you don’t need any additional software or drivers. You can set up and establish a WebDAV connection to a server within Explorer, which then displays the appropriate platform for data exchange as if it were a computer drive. Conversely, this also means that you can open, edit and erase files stored there or save them to the server as usual in Windows. The transfer protocol enables users access to cloud files or files on a separate server in real time, without the hassle of downloading, caching, editing and uploading.
With Linux, you can also use the File Manager to connect directly to your WebDAV server, without the need of new installation of a new client. WebDAV
Alternatives to WebDAV
WebDAV enables remote file editing and manipulation. There are many other mechanisms for working with files on a remote server; how is WebDAV different?
FTP
FTP (File Transfer Protocol) dates from the internet’s early days. The internet was a small town back then, so vanilla FTP’s security is completely inadequate for the mean streets of today’s internet. In contrast, WebDAV takes advantage of HTTPS security. FTP’s design is not firewall-friendly, where WebDAV relies on the standard mechanisms to support webservers. FTP requires its own server process, where WebDAV lives in the webserver. And FTP doesn’t include collaboration-oriented features like locking and version tracking.
SSH
The SSH (Secure Shell) protocol uses cryptography to securely provide operating system services like file access and command execution over an insecure network. Among the services are SCP (Secure Copy Protocol) and SFTP (Secure File Transfer Protocol).
SSH (and thus SCP and SFTP) requires its own server process and firewall rules, but support for SSH is almost universal on Linux and macOS and has recently become a built-in service on Windows 10 (previously third-party software was required). SCP only handles moving files, where SFTP can manipulate folders, delete files, etc. However, they lack collaboration-oriented features; the SFTP protocol does support file-locking but you can’t yet count on it being present and enabled.
Wikis
When we are talking about collaboratively producing content on the web, wikis are an obvious example. Wikis are group-edited websites that serve as project knowledge bases, note-taking tools, community websites, etc.
A wiki lets its users modify the content on pages, create pages, and modify the connections between pages, using a vanilla web-browser – no special protocols like WebDAV needed.
Wikis usually use a simplified markup language that’s much more limited – and quicker to grasp – than HTML. A wiki engine lives in a webserver like WebDAV. To permit a vanilla web-browser to edit, wikis don’t include the ability to edit multimedia files, and the only “file/folder management” that’s included is the ability to create and modify hyperlinks between wiki pages.
The wiki ideal is that the website is crowd-sourced and self-organizing; any user can make modifications and there is no predefined owner or gatekeeper. The anarchic ideal is often compromised; there are various wiki engines, and many support user authentication and imposing access controls on operations.
Distributed filesystems
There are multiple protocols for sharing remote filesystems across networks, whose most common use is to map/mount a network share exported by a server, permitting you to access folders and files on the remote server as if they were a local drive. SMB/CIFS is native to Windows; NFS is native to Unix/Linux; and for macOS the old default AFP is deprecated in favor of SMB.
These protocols provide essentially all the services of a filesystem on a local drive, including file locking, but not built-in file version tracking.
Distributed filesystem facilities often come with the operating system; if added later, they usually require additional modules added to the OS.
These protocols were developed to work over a LAN. Performance over the wide-area internet or a VPN will not be stellar, though you can mitigate that somewhat with tuning, and later versions of the protocols try to address this new use.
These protocols have much larger attack surfaces than simpler protocols like WebDAV. Though some recent versions like NFSv4 and SMB3 make improvements to support secure use on untrusted networks, most versions of these services are not secure beyond the LAN, and configuring them for such use is perilous.
Cloud file storage
Cloud storage services like Dropbox, Microsoft OneDrive, Google Drive, and Box.com seem like natural places for WebDAV. It does show up in some of them – Box.com is accessible via WebDAV, and OneDrive can be accessed by the standard Windows WebDAV facilities (though you only need this if you don’t have OneDrive file synchronization installed). Other cloud storage services provide their own specialized APIs, file-synchronization software, and web-app clients, and if you want WebDAV access you need to use a third-party gateway.
The specialized APIs, file-synchronization software, and web-app clients provided by the cloud services are designed to provide security and performance over networks like the internet.
Why choose WebDAV?
Although there are alternatives to WebDAV and some of those are newer systems, none of the rival systems integrate all of the facilities of WebDAV. WebDAV’s key attributes are:
- Operating system integration
- Free to use
- Close integration with web services
- Version Control
- Transport encryption
- Remote access
- Centralized storage
- Version Control
- File locking
None of the alternative systems for file management have all of those attributes. You can transfer files securely with SFTP and SCP, but those protocols don’t include version control. WebDAV grants remote access control to documents in a central store rather than requiring files to be copied over to the user’s local computer and then copied back again.
You can buy software packages that manage collaborative authoring, but then you will be paying for a system that just duplicates the services of WebDAV, which you can get for free.
Although WebDAV is sometimes depicted as an outmoded methodology, it has served popular cloud storage companies very well to provide seamless local access to remote files. Modern working practices of job sharing, project management, collaborative authoring, development coordination, telecommuting, and cloud services create a requirement for services that WebDAV has been able to provide for decades. In a way, WebDAV was ahead of its time, and only now are businesses beginning to operate in ways that require the full set of WebDAV’s capabilities.
WebDAV servers and clients still going strong
WebDAV is a long-standing protocol that enables a webserver to act as a fileserver and support collaborative authoring of content on the web. In many of its use cases, WebDAV is being supplanted by more modern mechanisms. But it’s still a reliable workhorse when the right servers and clients are matched, so it’s still encountered in many different applications.
© 2022 - Sofiane Hamlaooui - Making the world a better place 🌎