RFC 4918 - HTTP Extensions: Web Distributed Authoring and Versioning (WebDAV)
Publication Date: June 2007
Status: Standards Track
Author: L. Dusseault (Ed.) (CommerceNet)
Obsoletes: RFC 2518
Category: Standards Track
Abstract
Web Distributed Authoring and Versioning (WebDAV) consists of a set of methods, headers, and content-types ancillary to HTTP/1.1 for the management of resource properties, creation and management of resource collections, URL namespace manipulation, and resource locking (collision avoidance).
RFC 2518 was published in February 1999. This specification obsoletes RFC 2518 with minor revisions based on interoperability experience.
Status of This Memo
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Table of Contents
Main Sections
- 1. Introduction
- 2. Notational Conventions
- 3. Terminology
- 4. Data Model for Resource Properties
- 4.1 The Resource Property Model
- 4.2 Properties and HTTP Headers
- 4.3 Property Values
- 4.4 Property Names
- 4.5 Source Resources and Output Resources
- 5. Collections of Web Resources
- 5.1 HTTP URL Namespace Model
- 5.2 Collection Resources
- 6. Locking
- 7. Write Lock
- 8. General Request and Response Handling
- 9. HTTP Methods for Distributed Authoring
- 10. HTTP Headers for Distributed Authoring
- 11. Status Code Extensions to HTTP/1.1
- 12. Use of HTTP Status Codes
- 13. Multi-Status Response
- 14. XML Element Definitions
- 15-25. Additional Sections (DAV Properties, Compliance, Security, etc.)
Appendices
Appendices are currently being prepared and will be available soon.
Core WebDAV Concepts
Key Features
WebDAV extends the HTTP/1.1 protocol with the following core capabilities:
- Properties: Add, modify, and query metadata for Web resources
- Collections: Create and manage hierarchical structures of resources
- Locking: Prevent concurrent editing conflicts, supporting exclusive and shared locks
- Namespace Operations: Copy and move Web resources
New HTTP Methods
- PROPFIND: Retrieve properties of a resource
- PROPPATCH: Modify properties of a resource
- MKCOL: Create a collection (similar to creating a directory)
- COPY: Copy a resource or collection
- MOVE: Move or rename a resource or collection
- LOCK: Lock a resource to prevent conflicts
- UNLOCK: Unlock a resource
New HTTP Status Codes
- 207 Multi-Status: Multi-status response for batch operations
- 422 Unprocessable Entity: The request was well-formed but contained semantic errors
- 423 Locked: The resource is locked
- 424 Failed Dependency: The request failed due to failure of a previous request
- 507 Insufficient Storage: Insufficient storage to complete the request
Use Cases
- Collaborative Editing: Multiple users editing Web content simultaneously
- Content Management Systems (CMS): Remote management of website content
- File Sharing: File upload and download via HTTP protocol
- Cloud Storage: Implement HTTP-based file storage services
Related Resources
- Official Text: RFC 4918 (TXT)
- Official Page: RFC 4918 DataTracker
- Errata: RFC Editor Errata