WebDAV(Web-based Distributed Authoring and Versioning)是基于 HTTP 1.1的一个通信协议。它为 HTTP 1.1 添加了一些扩展(就是在 GET、POST、HEAD 等几个 HTTP标准方法以外添加了一些新的方法),使得应用程序可以直接将文件写到 Web Server上,并且在写文件时候可以对文件加锁,写完后对文件解锁,还可以支持对文件所做的版本控制。这个协议的出现极大地增加了 Web作为一种创作媒体对于我们的价值。基于 WebDAV可以实现一个功能强大的内容管理系统或者配置管理系统。
方法:
PUT,向指定的目录上传附加文件;
DELETE,删除指定的资源;
COPY,将指定的资源复制到Destination消息头指定的位置;
MOVE,将指定的资源移动到Destination消息头指定的位置;
SEARCH,在一个目录路径中搜索资源。
PROPFIND,获取与指定资源有关的信息,如作者、大小与内容类型。
TRACE,在响应中返回服务器收到的原始请求。可以使用这种方法避开阻止跨站点脚本的防御。
在tomcat5.5支持http delete和put的方法:
在tomcatweb.xml文件中配置org.apache.catalina.servlets.DefaultServlet的
- <init-param>
-
<param-name>readonly</param-name> -
<param-value>false</param-value> - </init-param>
- readonly参数默认是true,即不允许delete和put操作,所以通过XMLHttpRequest对象的put或者delete方法访问就会报告http403错误。为REST服务起见,应该设置该属性为false。
- 如下:
- <servlet>
72 <servlet-name>default</servlet-name>
73 <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
74 <init-param>
75 <param-name>debug</param-name>
76 <param-value>0</param-value>
77 </init-param>
78 <init-param>
79 <param-name>readonly</param-name>
80 <param-value>true</param-value>
81 </init-param>
82 <init-param>
83 <param-name>listings</param-name>
84 <param-value>false</param-value>
85 </init-param>
86 <load-on-startup>1</load-on-startup>
87 </servlet>
apache2.2设置禁止使用http delete和put
<Location />
<LimitExcept GET HEAD POST>
</LimitExcept>
</Location>