Skip to content

扉页及目录

备忘录状态

本文档为 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 其他变化