【问题标题】:Difference between GET and PROPFIND in WebDAVWebDAV 中 GET 和 PROPFIND 的区别
【发布时间】:2016-02-10 00:48:40
【问题描述】:

根据WebDAV规范(RFC 4918):

GET 的语义在应用于集合时不会改变,因为 GET 被定义为“检索任何信息(以实体的形式) 由 Request-URI 标识”[RFC2616]。

和PROPFIND

检索在由 Request-URI 标识的资源上定义的属性。

所以 GET 和 PROPFIND 或多或少地检索资源的信息。从这个意义上说,GET 和 PROPFIND 之间有什么主要区别吗?什么时候应该使用一个而不是另一个。

【问题讨论】:

    标签: http webdav


    【解决方案1】:

    你所指的那一段解释了它:

    GET,当应用于集合时,可能会返回“index.html”资源的内容、集合内容的人类可读视图或其他东西。

    GET 的行为与以往一样,以保持向后兼容性。它通常会返回一个“索引”页面(文件index.htmlindex.php 或类似文件),或者它会自动呈现带有目录内容的 HTML 页面(文件列表)。这意味着 WebDAV 服务器可以在与 HTTP 服务器相同的端口上运行(= 作为 HTTP 服务器的扩展),现有 HTTP 请求的行为相同。

    而根据 WebDAV 规范,WebDAV PROPFIND 请求将返回一个精确定义的、机器可读的 XML 文档。


    如果您正在实现 WebDAV 客户端或服务器,您只对PROPFIND 感兴趣。 GET 响应没有定义格式(甚至没有内容),因此无法被应用程序解析。

    【讨论】:

    • 感谢您的解释。
    【解决方案2】:

    WebDAV PROPFIND 方法用于检索 URI 提及的资源的属性。

    HTTP GET 方法可以返回生成的数据而不是资源的源文本,以防它指向数据生成资源。请参阅 RFC 2616 - 超文本传输​​协议中的以下文本。

    GET 方法意味着检索由 Request-URI 标识的任何信息(以实体的形式)。如果 Request-URI 指的是数据生成过程,则生成的数据应作为响应中的实体返回,而不是过程的源文本,除非该文本恰好是过程的输出。来源-RFC 2616

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多