webdav 概覽


webdav 概覽

WebDav(Web Distributed Authoring and Versioning) 是一個控制遠端Web資源的協議,它基於HTTP1.1。它的定義在RFC 4918(https://tools.ietf.org/html/rfc4918)。這個協議的場景可以是分布式協同辦公,也可以是一個文件存儲服務器。WebDav的語義是基於XML的。微軟的sharepoint,Dropbox, iCloud,offic365等都使用了這個協議。

webdav支持哪些方法?

首先必然支持普通的HTTP1.1的一些方法:

  • GET
  • POST
  • PUT
  • DELETE
  • PROPFIND
  • PROPPATCH
  • MKCOL
  • COPY
  • MOVE
  • LOCK
  • UNLOCK

PROPFIND 和 GET

PROPFIND 是查找資源的信息,並不包括資源的內容。而 GET 方法是直接返回資源的具體內容。在PROPFIND中,你可以指定返回資源的哪些屬性信息,也可以返回資源的所有屬性信息(allprop)。

PROPPATCH

對資源的某個或者某些屬性進行操作,這個操作可以是增加,刪除,修改等。

MKCOL

就是創建Collection,Collection的意思就是文件夾,它對應一個URI路徑。這個命令創建的Collection如果事先存在,或者前置的路徑不存在,都會報錯。

POST

POST方法的實際作用在Webdav的協議中沒有做強制定義,一般都是由具體的應用場景的Server進行定義的。

DELETE

DELETE 就是刪除操作,它可以刪除資源,也可以刪除一個Collection。但是刪除資源的時候,要求被刪除的資源不能有鎖。
如果是刪除一個Collection,要求這個Collection。

LOCK 和 UNLOCK

對一個已經存在的資源加鎖或者解鎖操作。

COPY

COPY復制一個文件到目標文件夾,目標文件夾必須存在

PUT

PUT是用來更新服務器上的一個文件的,它不能作用於文件夾。

搭建nginx服務支持webdav

使用nginx就能很簡單搭建一個支持webdav的文件服務,但是這個webdav只支持幾個方法:PUT,DELETE,MKCOL,COPY,MOVE。基於這幾個操作,你可以很方便操作這個文件服務器。但是需要使用PROPFIND等命令,你就需要加上nginx-dav-ext-module這個模塊,只有支持了PROFIND命令,mac的finder才能打開webdav服務文件。

nginx-dav-ext-module里面還有一個OPTIONS方法,這個是HTTP1.1的方法,服務端返回它支持的方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM