坚果云WebDav示例
最近看到坚果云有一个WebDAV应用,一时不解这是什么功能,了解后做了一个示例:
WebDAV是一种基于HTTP1.1协议的通信协议。它扩展了HTTP1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
WebDAV允许客户端进行下列操作
处理服务器上WebDAV发布目录中的资源。使用此功能,其优点例如:
- 具有正确权限的用户可以在WebDAV目录中复制和移动文件。
- 修改与某些资源相关联的属性。例如,用户可写入并检索文件的属性信息。
- 锁定并解锁资源以便多个用户可同时读取一个文件。但每次只能有一个人修改文件。
- 搜索WebDAV目录中的文件的内容和属性.
请求格式
- Options、Head和Trace。
主要由应用程序用来发现和跟踪服务器支持和网络行为- Get
检索文档- Put和Post
将文档提交到服务器- Delete
销毁资源或集合- Mkcol
创建集合- PropFind和PropPatch
针对资源和集合检索和设置属性- Copy和Move
管理命名空间上下文中的集合和资源- Lock和Unlock
改写保护
示例代码已提交至Github
https://github.com/ZZRRegion/JianGuoYunWebDav