webdav: web-based distributed authoring and versioning http://www.webdav.org/ http://www.webdav.org/specs/rfc4918.html

1. Introduction

WebDav is an extension to the HTTP/1.1 protocol that allows clients to perform remote Web content authoring openations. This extension provides a coherent set of methods, headers, request entity body formats, and response entity body formats that provide operations for:

Properties: create, remove, and query information about Web pages, such as their authors, creation dates, etc.

Collections: create sets of documents and to retrieve a hierarchical membership listing.

Locking: The ability to keep more than one person from working on a document at the same time. This prevents the “lost update problem”, in which modifications are lost as first one author, then another, writes changes without merging the other author’s changes.

Namespace Operations: The ability to instruct the server to copy and move Web resources, operations that change the mapping from URLs to resources.

2. Terminology

URI/URL: A Uniform Resource Identifier and Uniform Resource Locator, respectively. URI/URL Mapping: A relation between an absolute URI and a resource. Since a resource can represent items that are not network retrievable as well as those that are, it is possible for a resource to have zero, one, or many URI mappings. Mapping a resource to an “http” scheme URI makes it possible to submit HTTP protocol requests to the resource using the URI. Path Segment - Informally, the characters found between slashes(“/) in a URI. Collection - Informally, a resource that also acts as a container of references to child resources. Formally, a resource that contains a set of mappings between path segments and resources and meets the requirements. Internal Member (of a Collection) - Informally, a child resource of collection. Formally, a resource referenced by a path segment mapping contained in the collection. Internal member URL of a Collection - A url of an internal member, consisting of the URL of the collection (including trailing slash) plus the path segment identifying the internal member. Member Member URL Property Live Property Dead Property Principal State Token