Web Distributed Authoring and Versioning (WebDAV)
An Introduction
Prof. David Bernstein
James Madison University
Computer Science Department
bernstdh@jmu.edu
Overview
Summary:
A set of HTTP methods, headers and content-types for the creation, management and locking of resources and collections of resources
Specification:
Basics:
RFC 4918
Ordered Collections:
RFC 3648
Several other RFCs
Resources
Defined:
Data (on a network)
Identified:
Uniform Resource Identifier (URI)
Properties
Defined:
Data that describe the state of a resource (i.e., meta-data)
Model:
Name/Value Pairs (formatted in XML)
Types:
Dead - syntax and semantics are enforced by the client (the server records value verbatim)
Live - syntax and semantics are maintained or kept by the server
Collections
Defined:
A container for resources (that is, itself, a resource)
State Information:
Mappings between URIs and resources
Properties of the collection
Locks
Purpose:
Provide a mechanism for serializing access to a resource
Types:
Exclusive
Shared - multiple principals can receive shared locks (allows principals to indicate they intend to access)
Methods
PROPFIND:
Retrieve properties of the specified resource
PROPPATCH:
Set and/or remove properties of the specified resources
MKCOL:
Create a new collection at the location specified
LOCK and UNLOCK:
Lock/unlock the specified resource
Methods (cont.)
DELETE:
Delete the specified resource
GET:
Works as in HTTP
PUT:
Replace the specified resource
COPY:
Create a duplicate of the specified resource
MOVE:
Move the specified resource