webdav 概览
webdav 概覽
WebDav(Web Distributed Authoring and Versioning) 是一個控制遠端Web資源的協(xié)議,它基于HTTP1.1。它的定義在RFC 4918(https://tools.ietf.org/html/rfc4918)。這個協(xié)議的場景可以是分布式協(xié)同辦公,也可以是一個文件存儲服務(wù)器。WebDav的語義是基于XML的。微軟的sharepoint,Dropbox, iCloud,offic365等都使用了這個協(xié)議。
webdav支持哪些方法?
首先必然支持普通的HTTP1.1的一些方法:
- GET
- POST
- PUT
- DELETE
- PROPFIND
- PROPPATCH
- MKCOL
- COPY
- MOVE
- LOCK
- UNLOCK
PROPFIND 和 GET
PROPFIND 是查找資源的信息,并不包括資源的內(nèi)容。而 GET 方法是直接返回資源的具體內(nèi)容。在PROPFIND中,你可以指定返回資源的哪些屬性信息,也可以返回資源的所有屬性信息(allprop)。
PROPPATCH
對資源的某個或者某些屬性進行操作,這個操作可以是增加,刪除,修改等。
MKCOL
就是創(chuàng)建Collection,Collection的意思就是文件夾,它對應(yīng)一個URI路徑。這個命令創(chuàng)建的Collection如果事先存在,或者前置的路徑不存在,都會報錯。
POST
POST方法的實際作用在Webdav的協(xié)議中沒有做強制定義,一般都是由具體的應(yīng)用場景的Server進行定義的。
DELETE
DELETE 就是刪除操作,它可以刪除資源,也可以刪除一個Collection。但是刪除資源的時候,要求被刪除的資源不能有鎖。
如果是刪除一個Collection,要求這個Collection。
LOCK 和 UNLOCK
對一個已經(jīng)存在的資源加鎖或者解鎖操作。
COPY
COPY復制一個文件到目標文件夾,目標文件夾必須存在
PUT
PUT是用來更新服務(wù)器上的一個文件的,它不能作用于文件夾。
搭建nginx服務(wù)支持webdav
使用nginx就能很簡單搭建一個支持webdav的文件服務(wù),但是這個webdav只支持幾個方法:PUT,DELETE,MKCOL,COPY,MOVE。基于這幾個操作,你可以很方便操作這個文件服務(wù)器。但是需要使用PROPFIND等命令,你就需要加上nginx-dav-ext-module這個模塊,只有支持了PROFIND命令,mac的finder才能打開webdav服務(wù)文件。
nginx-dav-ext-module里面還有一個OPTIONS方法,這個是HTTP1.1的方法,服務(wù)端返回它支持的方法。
總結(jié)
- 上一篇: 交换机、路由器模式层次简介
- 下一篇: 关于SAP的用户出口 SAP的用户功能增