18. DAV 兼容级别
符合 DAV 标准的资源可以宣告为多种合规性(兼容级别)。客户端可以通过在资源上执行 OPTIONS 并检查返回的“DAV”header 来发现资源的兼容级别。特别要注意的是,兼容级别是对于资源而不是服务器来说的。这是因为理论上服务器的不同资源可以支持不同的功能集。例如,服务器可能有一个子存储库,其中支持诸如版本控制之类的高级功能,但并非所有子存储库均支持该功能。
由于本文档描述了 HTTP/1.1 协议的扩展,因此至少所有符合 DAV 标准的资源、客户端和代理都必须符合[RFC2616]。
符合 2 级或 3 级 DAV 标准的资源也必须符合 1 级 DAV 标准。
18.1 1 级
符合 1 类级别的资源必须满足本文档所有部分中的所有“MUST”要求。
在对 OPTIONS 方法的所有响应中,符合 1 类级别的资源必须至少在 DAV header 中返回值“1”。
18.2 2 级
符合 2 类级别的资源必须满足所有 1 类级别要求,并支持 LOCK 方法、DAV:supportedlock 属性、DAV:lockdiscovery 属性,Time-Out response header 和 Lock-Token request header。符合 2 类级别的资源也应支持 Timeout request header 和“owner”XML 元素。 在对 OPTIONS 方法的所有响应中,符合 2 类级别要求的资源必须在 DAV response header 中至少返回“1”和“2”两个值。
18.3 3 级
资源可以明确宣告其对本文档中针对[RFC2518]所进行的修订的支持。还必须支持 1 类标准。可以选择是否支持 2 类标准。除 1 和 2 之外,宣告了 3 类支持则意味着服务器支持此规范中的所有要求。声明 3 级和 1 级支持,但不包括 2 级,意味着服务器支持本规范中除设计锁定支持部分之外的所有要求。 例子:
DAV: 1, 3