【问题标题】:What exactly is Microsoft-WebDAV expecting in the response?Microsoft-WebDAV 的响应到底是什么?
【发布时间】:2020-11-30 17:56:16
【问题描述】:

我正在处理服务器需要响应来自 Microsoft-WebDAV-MiniRedir 的 PROPFIND 请求的事情

基本上是对\\domain.example.org\api\endpoint\blah 的文件系统请求发出,而我端的nodejs 服务器记录了该请求。

目前,它以空文本回复进行响应,这当然会导致 Windows 端出现错误,更严重的是,Windows 不会再次尝试连接,直到某个超时时间结束。

PROPFIND 请求本身似乎总是有一个空主体

我可以发回什么回复来表明端点上存在一个有效但为空的文件?

【问题讨论】:

  • 您阅读过 WebDAV 规范吗?这将是一个很好的起点。
  • 在下面查看我的回复 - 404 回复似乎满足了野兽
  • 这不完全是 404 响应,您是说客户要求的特定属性在集合中不存在。集合本身确实存在。
  • 如何更正请求?或者它应该像它一样工作 - 文件不需要运行;我只需要避免服务器被缓存为非 webdav
  • 如果有效,则有效,如果无效...然后开始阅读规范并实施足以通过。我花了大约 10 年时间编写 WebDAV 服务器。如有疑问,请遵循规范。我的项目:sabre.io

标签: node.js windows webdav


【解决方案1】:

我没有直接证据表明它有效,因为 Microsoft-WebDAV-MiniRedir 没有调试功能

但如下发送 404 响应似乎可行:

<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:">
 <D:response>
   <D:href>/container/</D:href>
   <D:propstat>
     <D:prop>
     </D:prop>
     <D:status>HTTP/1.1 404 NOT FOUND</D:status>
   </D:propstat>
 </D:response>
</D:multistatus>

我还设置了 Content-Type 和 Content-Length

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 2023-03-24
    • 2011-05-15
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 2013-05-05
    相关资源
    最近更新 更多