使用不同客户端时,同一资源的不同WebDav资源路径

使用不同客户端时,同一资源的不同WebDav资源路径,webdav,milton,Webdav,Milton,我正在测试一个支持web dav的视图,使用多个不同的客户端查看我的系统。有一位客户似乎有时会做一些奇怪的事情,我想知道这是意料之中的 下面的日志显示了它如何在webdav speak中通过再次包含servlet的完整路径来破坏directorycollection的路径。再次查看最后一行。所有其他客户机都不这样做,这主要是因为它是一个编码很差的客户机,可能已损坏 [org.eclipse.jetty.util.log] : REQUEST /milton/http:/127.0.0.1/mil

我正在测试一个支持web dav的视图,使用多个不同的客户端查看我的系统。有一位客户似乎有时会做一些奇怪的事情,我想知道这是意料之中的

下面的日志显示了它如何在webdav speak中通过再次包含servlet的完整路径来破坏directorycollection的路径。再次查看最后一行。所有其他客户机都不这样做,这主要是因为它是一个编码很差的客户机,可能已损坏

[org.eclipse.jetty.util.log] : REQUEST /milton/http:/127.0.0.1/milton/!renamed/ on org.eclipse.jetty.server.nio.SelectChannelConnector$2@59fb21
[org.eclipse.jetty.util.log] : servlet=com.bradmcevoy.http.MiltonServlet-11108810
[org.eclipse.jetty.util.log] : servlet holder=
[org.eclipse.jetty.util.log] : chain=
[com.bradmcevoy.http.HttpManager] : PROPFIND :: http://127.0.0.1:9000/milton/http:/127.0.0.1/milton/!renamed/ - http://127.0.0.1:9000/milton/http:/127.0.0.1/milton/!renamed/
[org.eclipse.jetty.util.log] : RESPONSE /milton/http:/127.0.0.1/milton/!renamed/  404
我已经查看了客户机提供的响应日志,名称没有损坏,它们有意义

/milton/!renamed 
而不是

/milton/http:/127.0.0.1/milton/!renamed/

很可能是客户它看起来像是服务器正在用一个完全限定的URL进行应答,其中包含scheme、host和porthttp://127.0.0.1/9000,但客户端将其视为相对uri href-/milton/abc,并在其上预先添加信息

经常使用像/milton/abc这样的返回href,但两者都是合法的