我使用IIS 7.5在Windows 7桌面上设置WebDAV服务器。目的是让我的Iphone中的WebDAV客户端应用程序能够访问和同步PC中给定文件夹中的一系列文件。它全部在我自己的家庭网络中,而且我将是唯一一个同步文件。
无论如何,我已经把所有事情都搞定了,但这里真的很奇怪:
我已在IIS中启用跟踪,并查看请求标头,我没有看到WebDAV客户端发送任何前提条件。以下是它的说法:
有关HTTP请求的数据:
SiteId 1
AppPoolId DefaultAppPool
ConnId 1610612964
RawConnId 0
RequestURL http://192.168.1.111:80/Notebooks/filename.txt
RequestVerb DELETE
请求标题:
Headers Connection: keep-alive
Content-Length: 0
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: es-es
Host: 192.168.1.111
If-Modified-Since: Wed, 07 Oct 2015 19:37:37 GMT
If-None-Match: "1ab8c9f371d11:0"
User-Agent: Notebooks 8.1.2 ( iPhone; iOS 8.4.1; es_ES)
这是模块在警告信息中唯一说的内容:
ModuleName WebDAVModule
Notification 128
HttpStatus 412
HttpReason Precondition Failed
HttpSubStatus 0
ErrorCode 0
ConfigExceptionInfo
Notification EXECUTE_REQUEST_HANDLER
ErrorCode The operation was correctly completed. (0x0)
以上是IIS跟踪中显示的错误。至于常规Web服务器日志:
192.168.1.230 - (my PC name) [07/Oct/2015:23:13:59 +0200] "PROPFIND /Notebooks/filename.txt HTTP/1.1" 207 509
192.168.1.230 - (my PC name) [07/Oct/2015:23:13:59 +0200] "DELETE /Notebooks/filename.txt HTTP/1.1" 412 1738
我一直与Iphone WebDAV客户端的开发人员保持联系,他说,根据他的经验,这往往表明权限问题,但我检查了Windows中文件的权限,他们没问题。我的意思是我检查我可以从WebDAV中删除的文件,然后检查那些给我412错误的文件......并且两者都具有相同的权限。
还有什么呢?