Различные пути к ресурсам WebDav для одного и того же ресурса при использовании разных клиентов.
Вопрос
Я нахожусь в процессе тестирования веб-приложения с возможностью просмотра моей системы с использованием нескольких разных клиентов.Один конкретный клиент, кажется, иногда делает странные вещи, и мне было интересно, можно ли этого ожидать..
В журнале ниже показано, как он каким-то образом исказил путь к каталогу (сборник на языке 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) используется часто, но оба варианта допустимы.