# 扉页及目录
# 备忘录状态
本文档为Internet社区定义了一个Internet标准跟踪协议,并提出讨论和改进建议。请参阅当前版本的“Internet官方协议标准”(STD 1)了解此协议的标准化状态。该备忘录可以无限分发。
# 版权提示
Copyright © The IETF Trust (2007). All Rights Reserved.
# 概要
Web分布式创作和版本控制(WebDAV)由一组方法、标头和内容类型补充进HTTP/1.1而形成,用于管理资源属性、创建和管理资源集合、URL命名空间操作以及资源锁定(避免冲突)。 RFC2518于1999年2月发布,本规范在吸取了其互操作性方面的经验之后,以较小的修订取代了前者。
# 目录
译者注:由于此译文最终会生成带有全文导航链接的版本,因此这里的目录不再制作链接,请见谅。
- 介绍
- 符号公约
- 术语
- 资源属性的数据模型
- 4.1 资源属性模型
- 4.2 属性和HTTP头
- 4.3 属性值
- 4.3.1 示例 - 混合内容的属性
- 4.4 属性名称
- 4.5 源资源和输出资源
- 网络资源集合
- 5.1 HTTP URL命名空间模型
- 5.2 收集资源
- 锁定
- 6.1 锁定模型
- 6.2 独占与共享锁
- 6.3 必需的支持
- 6.4 锁定创建者和权限
- 6.5 锁定令牌
- 6.6 锁定超时
- 6.7 锁定能力发现
- 6.8 主动锁定发现
- 写入锁
- 7.1 写入锁和属性
- 7.2 避免丢失更新
- 7.3 写入锁和未映射的URL
- 7.4 写入锁和集合
- 7.5 写入锁和IF请求标头
- 7.5.1 示例 - 写入锁和复制
- 7.5.2 示例 - 删除锁定集合的成员
- 7.6 写入锁和复制/移动
- 7.7 刷新写入锁
- 一般请求和响应处理
- 8.1 错误处理的优先顺序
- 8.2 使用XML
- 8.3 网址处理
- 8.3.1 示例 - 更正URL处理
- 8.4 请求中的必需机构
- 8.5 用于WebDAV的HTTP头
- 8.6 ETag
- 8.7 包括错误响应体
- 8.8 命名空间操作对缓存验证器的影响
- 分布式创作的HTTP方法
- 9.1 PROPFIND方法
- 9.1.1 PROPFIND状态码
- 9.1.2 用于'propstat'元素的状态码
- 9.1.3 示例 - 检索命名属性
- 9.1.4 示例 - 使用'propname'来检索所有属性名称
- 9.1.5 示例 - 使用所谓的'allprop'
- 9.1.6 示例 - 在'include'中使用'allprop'
- 9.2 PROPPATCH方法
- 9.2.1 用于'propstat'元素的状态码
- 9.2.2 示例 - PROPPATCH
- 9.3 MKCOL方法
- 9.3.1 MKCOL状态码
- 9.3.2 示例 - MKCOL
- 9.4 GET--集合的头
- 9.5 POST的集合
- 9.6 DELETE要求
- 9.6.1 DELETE集合
- 9.6.2 示例 - DELETE
- 9.7 PUT要求
- 9.7.1 PUT为非集合资源
- 9.7.2 PUT收藏
- 9.8 COPY方法
- 9.8.1 非收集资源COPY
- 9.8.2 COPY的属性
- 9.8.3 收藏集
- 9.8.4 复制和覆盖目标资源
- 9.8.5 状态码
- 9.8.6 示例 - 带覆盖的COPY
- 9.8.7 示例 - 不覆盖的COPY
- 9.8.8 示例 - 集合的COPY
- 9.9 MOVE方法
- 9.9.1 MOVE 属性
- 9.9.2 集合的MOVE
- 9.9.3 MOVE和覆盖标题
- 9.9.4 状态码
- 9.9.5 示例 - 非集合的MOVE
- 9.9.6 示例 - 集合的MOVE
- 9.10 LOCK方法
- 9.10.1 在现有资源上创建锁定
- 9.10.2 刷新锁定
- 9.10.3 深度和锁定
- 9.10.4 锁定未映射的网址
- 9.10.5 锁兼容性表
- 9.10.6 锁定响应
- 9.10.7 示例 - 简单锁定请求
- 9.10.8 示例 - 刷新写入锁定
- 9.10.9 示例 - 多资源锁定请求
- 9.11 UNLOCK方法
- 9.11.1 状态码
- 9.11.2 示例 - UNLOCK
- 9.1 PROPFIND方法
- 用于分布式创作的HTTP头
- 10.1 DAV标题
- 10.2 深度标题
- 10.3 目标标题
- 10.4 IF标题
- 10.4.1 目的
- 10.4.2 句法
- 10.4.3 名单评估
- 10.4.4 匹配状态令牌和ETags
- 10.4.5 如果标题和非DAV感知代理
- 10.4.6 示例 - 无标记生产
- 10.4.7 示例 - 在无标签生产中使用“Not”
- 10.4.8 示例 - 导致条件始终评估为真
- 10.4.9 示例 - 标记列表IF标题在COPY中
- 10.4.10 示例 - 使用集合锁匹配锁定令牌
- 10.4.11 示例 - 在未映射的URL上匹配ETags
- 10.5 锁定令牌标题
- 10.6 覆盖标题
- 10.7 超时请求标头
- HTTP / 1.1的状态码扩展
- 11.1 207多状态
- 11.2 422不可处理的实体
- 11.3 423锁定
- 11.4 424失败依赖
- 11.5 507存储不足
- 使用HTTP状态码
- 12.1 412先决条件失败
- 12.2 414请求URI太长
- 多状态响应
- 13.1 响应头
- 13.2 处理重定向的子资源
- 13.3 内部状态码
- XML元素定义
- 14.1 活动锁XML元素
- 14.2 allprop XML元素
- 14.3 收集XML元素
- 14.4 深入的XML元素
- 14.5 错误XML元素
- 14.6 独有的XML元素
- 14.7 href XML元素
- 14.8 包括XML元素
- 14.9 位置XML元素
- 14.10 锁定XML元素
- 14.11 lockinfo XML元素
- 14.12 锁定XML元素
- 14.13 lockscope XML元素
- 14.14 锁定XML元素
- 14.15 锁定XML元素
- 14.16 多元XML元素
- 14.17 所有者XML元素
- 14.18 道具XML元素
- 14.19 propertyupdate XML元素
- 14.20 propfind XML元素
- 14.21 propname XML元素
- 14.22 propstat XML元素
- 14.23 删除XML元素
- 14.24 响应XML元素
- 14.25 响应描述XML元素
- 14.26 设置XML元素
- 14.27 共享XML元素
- 14.28 状态XML元素
- 14.29 超时XML元素
- 14.30 编写XML元素
- DAV属性
- 先决条件/后置条件XML元素
- DAV中的XML可扩展性
- DAV合规分类
- 18.1 1级
- 18.2 2级
- 18.3 第3类
- 国际化考虑
- 安全考虑
- 20.1 客户认证
- 20.2 拒绝服务
- 20.3 默认安全
- 20.4 与锁连接的隐私问题
- 20.5 与属性相关的隐私问题
- 20.6 XML实体的影响
- 20.7 与锁定令牌相关的风险
- 20.8 托管恶意内容
- IANA考虑事项
- 21.1 新的URI方案
- 21.2 XML命名空间
- 21.3 消息标题字段
- 21.3.1 DAV
- 21.3.2 深度
- 21.3.3 目的地
- 21.3.4 IF
- 21.3.5 锁定令牌
- 21.3.6 覆盖
- 21.3.7 时间截止
- 21.4 HTTP状态码
- 致谢
- 本规范的贡献者
- RFC 2518的作者
- 参考文献
- 25.1 规范性参考文献
- 25.2 信息性参考
附录A. 关于处理XML元素的注意事项
- A.1 关于空XML元素的注意事项
- A.2 关于非法XML处理的注意事项
- A.3 示例 - XML语法错误
- A.4 示例 - 意外的XML元素
附录B. 有关HTTP客户端兼容性的说明
附录C. 'opaquelocktoken'方案和URI
附录D. Lock-Null资源
- D.1 使用LOCK创建资源的客户指南
附录E. 希望认证的客户指南
附录F. RFC 2518的变化摘要
- F.1 客户端和服务器实现的更改
- F.2 服务器实现的更改
- F.3 其他变化