Skip to main content

1. 简介 (Introduction)

本文档描述了HTTP/1.1协议的扩展,允许客户端执行远程Web内容创作操作。该扩展提供了一组连贯的方法、头部、请求实体主体格式和响应实体主体格式,支持以下操作:

属性 (Properties): 创建、删除和查询Web页面信息的能力,如作者、创建日期等。

集合 (Collections): 创建文档集合并检索分层成员列表的能力(类似文件系统中的目录列表)。

锁定 (Locking): 防止多人同时处理一个文档的能力。这可以防止"丢失更新问题",即当第一个作者和第二个作者先后写入更改而未合并彼此的更改时,修改会丢失。

命名空间操作 (Namespace Operations): 指示服务器复制和移动Web资源的能力,这些操作改变了URL到资源的映射。

这些操作的需求和原理在配套文档"分布式创作和版本控制协议的需求"[RFC2291]中进行了描述。

本文档未指定[RFC2291]建议的版本控制操作。该工作在单独的文档"WebDAV的版本控制扩展"[RFC3253]中完成。

以下各节详细介绍了各种WebDAV抽象:资源属性(第4节)、资源集合(第5节)、通用锁定(第6节)以及特定的写锁定(第7节)。

这些抽象通过WebDAV特定的HTTP方法(第9节)和与WebDAV方法一起使用的额外HTTP头部(第10节)进行操作。WebDAV中处理HTTP请求和响应的一般考虑因素在第8节中介绍。

虽然HTTP/1.1提供的状态码足以描述WebDAV方法遇到的大多数错误条件,但有些错误无法完全归入现有类别。本规范定义了为WebDAV方法开发的额外状态码(第11节),并描述了WebDAV中使用的现有HTTP状态码(第12节)。由于某些WebDAV方法可能对多个资源进行操作,因此引入了多状态响应(Multi-Status,第13节)来返回多个资源的状态信息。最后,此版本的WebDAV在错误响应主体中引入了前置条件和后置条件(第16节)XML元素。

WebDAV使用XML([REC-XML])作为属性名称和某些值,还使用XML来编组复杂的请求和响应。本规范包含所有属性(第15节)和编组中使用的所有其他XML元素(第14节)的DTD和文本定义。WebDAV包含一些关于以向后兼容的方式扩展WebDAV XML编组的特殊规则(第17节)。

规范的最后几节涉及资源符合本规范的含义(第18节)、国际化支持(第19节)以及安全性(第20节)。