IIS在默认情况并不支持对PUT和DELETE请求的支持

IIS在默认情况并不支持对PUT和DELETE请求的支持;

IIS拒绝PUT和DELETE请求是由默认注册的一个名为:“WebDAVModule”的自定义HttpModule导致的。WebDAV的全称为:“Web-based Distributed Authoring and Version”它是一个在多用户之间辅助协同编辑和管理在线文档的HTTP扩展.。该扩展使应用程序可以直接将文件写到Web Server上,同时支持文件的加锁和版本控制。

微软是推动WebDAV成为一个标准的主导力量,它自己利用自定义的HttpModule实现了IIS针对WebDAV的支持。但是这个注册(注册名为:WcbDAVModule)会拒绝HTTP方法为PUT和DELETE的请求,如果我们的站点不需要提供针对WebDAV的支持,可以通过配置将注册的HttpModule移除。

<configuration>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
      <remove name="WebDAVModule"/>
    </modules>
  </system.webServer>
</configuration>