WebDAV
What is WebDAV?
Web-based Distributed Authoring and Versioning (WebDAV) is a new Internet specification
that extends the HTTP protocol.
The stated goal of the WebDAV working
group is (from the charter) to "define the HTTP extensions necessary to enable
distributed web authoring tools to be broadly interoperable, while supporting user
needs".
Until now, the web has been mostly a
read-only environment. We read pages off of the web, and occasionally sign a guest book or
add a book review to somebody else's web site. While that has been enormously useful, two
things have emerged:
PROPPATCH (to add properties to a
resource or collection)
1) Until now, adding new pages on the web has been more complicated than it needs to be.
Generally, people who don't have direct access to a server have had to understand FTP to
get new pages on to the web. Many people have been able to figure out FTP, but many more
have not. What's more, FTP is not a very well controlled environment, and as a result,
there are many organizations that aren't comfortable offering FTP access to their servers.
2) People are looking at the Internet to supplement or replace private networks, such as
LANs. People want easier ways to work from home (telecommute), or to cooperate with
someone on the other side of the country, or to send data to a supplier. Thus people need
to be able to share files and other resources over the Internet the same way they share
files and resources on networked file systems.
WebDAV serves and HTTP Protocolas a network file system
suitable for the Internet, one that works on entire files at a time, with good performance
in high-latency environments. It also acts as a protocol for manipulating the contents of
a document management system via the Web.
An important goal of DAV is to support
virtual enterprises, being the primary protocol supporting a wide range of collaborative
applications. Importantly, a major goal is the support of remote software development
teams. A final goal of DAV is to leverage the success of HTTP in being a standard access
layer for a wide range of storage repositories -- HTTP gave them read access, while DAV
gives them write access.
Features
WebDAV provides a network protocol for creating interoperable, collaborative applications.
Major features of the protocol include:
¢ Locking (concurrency control): long-duration exclusive and shared write locks prevent
the overwrite problem, where two or more collaborators write to the same resource without
first merging changes. To achieve robust Internet-scale collaboration, where network
connections may be disconnected arbitrarily, and for scalability, since each open
connection consumes server resources, the duration of DAV locks is independent of any
individual network connection.
¢ Properties: XML properties provide storage for arbitrary metadata, such as a list of
authors on Web resources. These properties can be efficiently set, deleted, and retrieved
using the DAV protocol. DASL, the DAV Searching and Locating protocol, provides searches
based on property values to locate Web resources.
¢ Namespace manipulation: Since resources may need to be copied or moved as a Web site
evolves, DAV supports copy and move operations. Collections, similar to file system
directories, may be created and listed.
Technical Specifications
WebDAV is an extension of the HTTP/1.1 protocol. DAV adds new HTTP methods and headers. In
addition, DAV specifies how to use the new extensions, how to format request and response
bodies, how existing HTTP behavior may change, etc.
WebDAV 1.0 adds seven additional
methods to the HTTP protocol:
- MOVE (to move a resource from one URL to
another)
- COPY (to copy a resource from one URL to
another)
- MKCOL (to create a new collection of
resources -- like a directory or folder)
- PROPPATCH (to add properties to a resource
or collection)
- PROPFIND (to get properties from a
resource or collection)
- LOCK (to lock a file so that no one else
can change it while you're working on it)
- UNLOCK (to unlock the file)
Benefits of WebDAV
Web sites typically gather information from geographically separated people. Using a DAV
server, such information that comprises a Web site can be directly authored by the primary
sources of the information.
DAV provides a standard infrastructure
for supporting geographically dispersed software development teams by making the software
remotely accessible via the Internet. Since the artifacts of software development, like
requirements and design documents, as well as source code, are open to remote
collaborative authoring, DAV can be used to support virtual development teams. While DAV
has significant utility today to support remote software development, when the versioning
protocol has been completed, DAV will have full versioning and configuration management
support as well, an important collaboration technology for software development.
PROPFIND (to get properties from a
resource or collection)
- LOCK (to lock a file so that no one else
can change it while you're working on it)
- UNLOCK (to unlock the file)
Useful Links
1) WebDAV
Home Page
1) Introduction
to WebDAV |