2017-04-05 205 views
3

我正在编写WebDAV服务器并遇到以下问题。 Mac OS X客户端(Finder,Mac版Microsoft Office)会生成太多不同的请求。我曾经与微软的Word同样的问题适用于Windows,但设置custom headers后:尽量减少Mac上WebDAV请求的数量

Ms-Author-Via: DAV 

使用更多数量有限的请求Microsoft Word中开始。这里的 Microsoft Word中编辑会话的外观在Windows(和Windows或Linux用的LibreOffice):

PROPFIND 
GET 
LOCK (windows only) 
PUT 
UNLOCK (windows only) 
PROPFIND (linux only) 

的Mac OS Finder和Mac版Office但是产生大量的额外请求,即:

  • 代临时文件
  • 生成临时文件夹的
  • 移动起来

是否有一些标题组合可以减少Mac OS X中的多个请求?

+0

我认为[this](https://apple.stackexchange.com/questions/14980/why-are-dot-underscore-files-created-and-how-can-i-avoid-them)将是对你感兴趣。可悲的是,它看起来不太好。 – DaSourcerer

+0

@DaSourcerer是的,摆脱点和下划线文件也会很好。 – rfg

回答

2

经过一番研究,可悲的看起来很像这样超出了某些HTTP标头的权力。在saber DAV文档中显示的this owncloud issuethis document也是一个有点已知的问题。 Apple's solution这是通过下面的命令完全禁用创建临时文件:

defaults write com.apple.desktopservices DSDontWriteNetworkStores true 

然而,这听起来像你将不得不满足众多客户的需求,你的控制,这使得这个不切实际之外。 Owncloud通过mocking successfull LOCK/UNLOCKs找到了解决方案,将这些请求转化为NOP。首先,一个不太微妙的方法是forcefully prevent creation of these files。就个人而言,我认为Owncloud的方法结合.metadata_never_index file是最有希望的,并且基本上没有不希望的副作用。

+0

.metadata_never_index文件可防止创建.DS_Store文件,但不会阻止为office文档创建._ 文件。谢谢。 – rfg

+0

@rfg that [可以关闭](https://serverfault.com/a/457769),但很难通过WebDAV/HTTP的方式解决。您可以阻止创建这些文件,但这可能会导致实际文件呈现为只读状态(从Office的角度来看)。 – DaSourcerer