# 扉页及目录

# 备忘录状态

本文档为Internet社区定义了一个Internet标准跟踪协议,并提出讨论和改进建议。请参阅当前版本的“Internet官方协议标准”(STD 1)了解此协议的标准化状态。该备忘录可以无限分发。

# 版权提示

Copyright © The IETF Trust (2007). All Rights Reserved.

# 概要

Web分布式创作和版本控制(WebDAV)由一组方法、标头和内容类型补充进HTTP/1.1而形成,用于管理资源属性、创建和管理资源集合、URL命名空间操作以及资源锁定(避免冲突)。 RFC2518于1999年2月发布,本规范在吸取了其互操作性方面的经验之后,以较小的修订取代了前者。

# 目录

译者注:由于此译文最终会生成带有全文导航链接的版本,因此这里的目录不再制作链接,请见谅。

  1. 介绍
  2. 符号公约
  3. 术语
  4. 资源属性的数据模型
    • 4.1 资源属性模型
    • 4.2 属性和HTTP头
    • 4.3 属性值
      • 4.3.1 示例 - 混合内容的属性
    • 4.4 属性名称
    • 4.5 源资源和输出资源
  5. 网络资源集合
    • 5.1 HTTP URL命名空间模型
    • 5.2 收集资源
  6. 锁定
    • 6.1 锁定模型
    • 6.2 独占与共享锁
    • 6.3 必需的支持
    • 6.4 锁定创建者和权限
    • 6.5 锁定令牌
    • 6.6 锁定超时
    • 6.7 锁定能力发现
    • 6.8 主动锁定发现
  7. 写入锁
    • 7.1 写入锁和属性
    • 7.2 避免丢失更新
    • 7.3 写入锁和未映射的URL
    • 7.4 写入锁和集合
    • 7.5 写入锁和IF请求标头
      • 7.5.1 示例 - 写入锁和复制
      • 7.5.2 示例 - 删除锁定集合的成员
    • 7.6 写入锁和复制/移动
    • 7.7 刷新写入锁
  8. 一般请求和响应处理
    • 8.1 错误处理的优先顺序
    • 8.2 使用XML
    • 8.3 网址处理
      • 8.3.1 示例 - 更正URL处理
    • 8.4 请求中的必需机构
    • 8.5 用于WebDAV的HTTP头
    • 8.6 ETag
    • 8.7 包括错误响应体
    • 8.8 命名空间操作对缓存验证器的影响
  9. 分布式创作的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
  10. 用于分布式创作的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 超时请求标头
  11. HTTP / 1.1的状态码扩展
    • 11.1 207多状态
    • 11.2 422不可处理的实体
    • 11.3 423锁定
    • 11.4 424失败依赖
    • 11.5 507存储不足
  12. 使用HTTP状态码
    • 12.1 412先决条件失败
    • 12.2 414请求URI太长
  13. 多状态响应
    • 13.1 响应头
    • 13.2 处理重定向的子资源
    • 13.3 内部状态码
  14. 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元素
  15. DAV属性
  16. 先决条件/后置条件XML元素
  17. DAV中的XML可扩展性
  18. DAV合规分类
    • 18.1 1级
    • 18.2 2级
    • 18.3 第3类
  19. 国际化考虑
  20. 安全考虑
    • 20.1 客户认证
    • 20.2 拒绝服务
    • 20.3 默认安全
    • 20.4 与锁连接的隐私问题
    • 20.5 与属性相关的隐私问题
    • 20.6 XML实体的影响
    • 20.7 与锁定令牌相关的风险
    • 20.8 托管恶意内容
  21. 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状态码
  22. 致谢
  23. 本规范的贡献者
  24. RFC 2518的作者
  25. 参考文献
    • 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 其他变化