是否有任何工具/说明/指南可帮助您解决 Mac OS X 上的 webdav 问题?是否有任何秘密安装选项、未记录的 webdav 模块日志记录等?
我通常的做法是通过 Fiddler/Charles 反向代理重新路由 webdav 流量。这样我就可以看到 Mac OS X/WebdavFS 和服务器之间的请求和响应流动。我不明白为什么 webdav 会这样。例如,为什么文件以只读模式打开——响应中有什么不好的东西导致了这种情况?:-(
编辑:我问的不是具体的 mac/webdav 问题,而是在问在 Mac 上调试 webdav 问题的方法。澄清一下:我正在编写服务器端部分(即 webdav 服务器本身)。我经常可以看到所有请求/响应。但是 1) Mac 生成大量请求,并且 2) 即使我看到请求/响应,有时我也会观察到问题,但找不到根本原因(例如,MS Word 文件有时以只读模式打开,我不知道为什么)
答案1
OSX Finder 需要 Dav Level 2 支持才能挂载读/写的 WebDAV 卷。具体来说,需要 LOCK 支持。
我会抓住ngrep并检查流量。查找Dav: 1,2
。还要检查OPTIONS
OS X 在连接时询问的请求的响应。
据我所知,OS X Finder 是唯一一款在通过 PUT 发送文件时使用 Chunked Encoding 的应用程序。这是任何 HTTP/1.1 服务器的必需行为,但很少有服务器会实现它。Apache 会这样做,我认为 Jackrabbit 也会这样做,但很少有其他 Web 服务器或反向代理会这样做。检查您的服务器日志并查找结果为 400 的 PUT 请求。
针对有关 Word 只读的注释进行更新:
您应该确保MS-Author-Via: Dav
标头出现在您的响应中。Microsoft Office 应用程序需要对 WebDAV 规范进行此扩展才能与 WebDAV 服务器进行交互。
答案2
您可以考虑安装 DarwinPorts 并使用“cadaver”,这是一个命令行 WebDAV 客户端,它可以在连接到 WebDAV 共享时提供详细信息。