我正在使用许多不同的客户端测试启用 Web dav 的系统视图。一位特定的客户有时似乎会做一些奇怪的事情,我想知道这是可以预料到的。

下面的日志显示了它如何通过再次包含 servlet 的完整路径(查看最后一行)以某种方式破坏目录路径(用 webdav 来说是集合)。所有其他客户端都不这样做,这主要是因为它的客户端编码很差,可能已损坏?

[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 进行回复,其中包含方案、主机和端口 (http://127.0.0.1/9000),但客户端将其视为相对 uri (href - "/ milton/abc") 并在其前面添加信息。

返回 href(如 /milton/abc)经常被使用,但两者都是合法的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top