WebDAV服务器应该支持文件夹上的HEAD吗?

时间:2013-05-16 03:04:08

标签: request webdav head

我发现其中一个WebDAV客户端正在向WebDAV文件夹(集合)发送HEAD请求。我正在测试的WebDAV服务器不支持文件夹上的HEAD并使用HTTP / 1.1 405方法不允许响应。 WebDAV客户端无法连接。

[Request]
HEAD /
Connection: Keep-Alive
Accept-Encoding: gzip,deflate
Host: localhost:5182

[Response]
HTTP/1.1 405 Method Not Allowed

WebDAV服务器应该支持文件夹上的HEAD还是WebDAV客户端错误?

4 个答案:

答案 0 :(得分:2)

来自RFC 2616

  

HEAD方法与GET相同,只是服务器不能   在响应中返回一个消息体。元信息包含   在HTTP头中响应HEAD请求应该是相同的   响应GET请求发送的信息

这表明只有在支持GET的情况下才应该在资源上支持HEAD。

许多服务器不会在文件夹上实现GET,因此不实施HEAD是合理的。所以对我来说这听起来像是一个客户端错误。

客户端应该选择OPTIONS进行功能发现。

答案 1 :(得分:2)

RFC4918声明:

  

类似地,由于HEAD的定义是没有响应消息体的GET,因此当应用于集合资源时,HEAD的语义不会被修改。

是的,它应该支持它。

http://www.webdav.org/specs/rfc4918.html#rfc.section.9.4

答案 2 :(得分:1)

是。它是RFC 2616的要求。

答案 3 :(得分:1)

HEAD方法基本上是“如果我打电话给GET会有什么标题?”现在确实是在WebDAV服务器上确定应该为文件夹上的GET返回什么。它几乎总是索引(以html格式)或“未找到”响应(404)。发送“不允许的方法”并不是一个好的实现。这意味着不允许目录浏览,这在WebDAV服务器上完全没有意义。换句话说,文件夹上的HEAD请求几乎总是返回HTML索引(减去响应主体)或404错误。 404的目的是通知客户端没有与所请求URL的最后一段匹配的文档。