WebDAV

基於HTTP1.1協議的通信協議

WebDAV (Web-based Distributed Authoring and Versioning)一種基於 HTTP 1.1協議的通信協議。它擴展了HTTP 1.1,在GET、POST、HEAD等幾個HTTP標準方法以外添加了一些新的方法,使應用程序可對Web Server直接讀寫,並支持寫文件鎖定(Locking)及解鎖(Unlock),還可以支持文件的版本控制。

定義


Microsoft windows2000、XPWin7及IE, Office還有Adobe/MacroMedia的DW等都支持Webdav,這又大大增強了Web應用的價值,以及效能。對於需要大量發布內容的用戶而言,應用WebDav可以降低對CMS系統的依賴,而且能夠更自由的進行創作。上傳、下載變得輕鬆自如。
Web 分散式創作和版本管理 (WebDAV) 擴展了 HTTP/1.1 協議,允許客戶端發布、鎖定和管理 Web 上的資源,與 IIS 集成后。
WebDAV 允許客戶端進行下列操作
處理伺服器上 WebDAV 發布目錄中的資源。使用此功能,其優點例如:
1.具有正確許可權的用戶可以在 WebDAV目錄中複製和移動文件。
2.修改與某些資源相關聯的屬性。例如,用戶可寫入並檢索文件的屬性信息。
3.鎖定並解鎖資源以便多個用戶可同時讀取一個文件。但每次只能有一個人修改文件。
4.搜索 WebDAV 目錄中的文件的內容和屬性。
在伺服器上設置 WebDAV 發布目錄與通過 Internet 信息服務管理單元設置虛擬目錄一樣簡單。設置好發布目錄后,具有適當許可權的用戶就可以向伺服器發布文檔,並處理目錄中的文件。在設置 WebDAV 目錄之前,必須首先安裝 Windows XP Professional
WebDAV 客戶端
可以通過下面列表中描述的任意一種 Microsoft 產品或通過其他任意的支持行業標準 WebDAV 協議的客戶端來訪問 WebDAV 發布目錄。
·Windows XP 通過“添加網上鄰居嚮導”與 WebDAV 伺服器連接,並顯示 WebDAV 目錄中的內容,如同它是本地計算機上同一文件系統的組成部分。連接完成之後,就可以拖放文件、檢索和修改文件屬性以及執行許多其他文件系統任務。
·Internet Explorer 5.0 與 WebDAV 目錄連接,使您可以執行通過 Windows XP 所能執行的文件系統任務。
·Office 2000 通過其中包含的任意應用程序創建、發布、編輯並直接將文檔保存到 WebDAV 目錄中。
在 WebDAV 中搜索
一旦與 WebDAV 目錄建立連接,就可以快速搜索此目錄中文件的內容和屬性。例如,可以搜索包含
table 一詞的所有文件或所有由 Fred 編寫的文件。

集成安全


由於 WebDAV 已與 Windows XP 和 IIS 集成,因此它具有這兩者所提供的安全特性。其中包括 Internet 信息服務管理單元中指定的 IIS 許可權和 NTFS 文件系統中的自由選擇訪問控制列表 (DACL)。有關 IIS 安全性的信息,請參閱 安全性。
由於具有適當許可權的客戶端可以對 WebDAV 目錄進行寫入操作,因此對允許哪些客戶端訪問目錄進行控制向來都很重要。為了幫助您控制訪問許可權,IIS 已內置了對 Kerberos 5 身份驗證協議的支持,從而增強了集成 Windows 身份驗證的功能。選擇集成 Windows 身份驗證,可以確保只有具有許可權的客戶端才可訪問 Intranet 上的 WebDAV 目錄,並對它進行寫入操作。有關 Kerberos 5 身份驗證協議如何與 IIS 集成 Windows 身份驗證協作的詳細信息,請參閱集成 Windows 身份驗證。有關 Kerberos 協議工作原理的總體信息,請參閱 Windows XP 文檔中的“Kerberos v5 身份驗證”。
另外,IIS 還支持摘要式身份驗證和高級摘要式身份驗證。摘要式身份驗證和高級摘要式身份驗證是針對 Windows 域伺服器創建的,為密碼和通過 Internet 傳輸信息提供了更嚴格的安全性措施。有關摘要式身份驗證的信息,請參閱摘要式身份驗證和配置摘要式身份驗證。有關高級摘要式身份驗證的信息,請參閱高級摘要式身份驗證和配置高級摘要式身份驗證。

優勢


由於 Web 已經成為 Internet 的基礎,因此 HTTP 1.1(超文本傳送協議)被證實是用來傳輸數據的非常靈活的通用協議。但是,HTTP 存在一些明顯的缺點,從而限制了它作為綜合的 Internet 通訊協議而被採用:它非常適合用於查看的靜態文檔,但不能提供以足夠複雜(以便向客戶端提供豐富的創作功能)的方式來處理文檔的方法。
例如,當兩個作者在未進行交流的情況下同時對一個文檔進行更改時,就會出現“更新丟失”問題。只有由最後一個作者完成、並將修改後的文檔重新上載到伺服器的修改才會保留下來,另一個作者進行的更改將丟失。
IETF WebDAV 工作組的目標是,設計一個協議,它提供基於標準的論壇中任何分散式創作工具需要的功能。當前的 WebDAV 規範 (IETF RFC 2518) 解決協作式創作工具的三個主要問題:
· 改防寫。HTTP 1.1 無法確保客戶端可以保護資源,並且可以在其他客戶端同時編輯它們的情況下進行更改。使用 WebDAV,可以通過多種方式來鎖定資源,以便讓其他客戶端知道您對所討論的資源感興趣,或者防止其他客戶端訪問該資源。
· 資源管理。HTTP 只能直接訪問單個資源。 WebDAV 提供一種更有效地組織數據的方法。 WebDAV 引入了可包含資源 的集合(類似於文件系統文件夾)概念。通過 WebDAV 進行的資源管理包括如下功能:創建、移動、複製和刪除集合,以及集合中的資源或文件。
· 文檔屬性。不同類型的數據具有唯一的屬性,這有助於描述數據。例如,在電子郵件中,這些屬性可能是發件人的姓名和接收郵件的時間。在協作文檔中,這些屬性可能是文檔原始作者的姓名和最後一個編輯者的姓名。因為人們使用的文檔類型各不相同,所以可能的屬性類型列表也變得無限大。 XML 是 WebDAV 所需的一種可擴展通訊工具。

請求格式


HTTP 1.1(請參閱 IETF RFC 2068)提供一組可供客戶端與伺服器通訊的方法,並指定響應(從伺服器返回發出請求的客戶端)的格式。 WebDAV 完全採用此規範中的所有方法,擴展其中的一些方法,並引入了其他可提供所描述功能的方法。 WebDAV 中使用的方法包括:
1.Options、Head 和 Trace。
主要由應用程序用來發現和跟蹤伺服器支持和網路行為。
2.Get。
檢索文檔。
3.Put 和 Post。
將文檔提交到伺服器。
4.Delete。
銷毀資源或集合。
5. Mkcol。
創建集合。
6.PropFind 和 PropPatch
針對資源和集合檢索和設置屬性。
7.Copy 和 Move。
管理命名空間上下文中的集合和資源。
8. Lock 和 Unlock。
改防寫。
WebDAV 請求的一般結構遵循 HTTP 的格式。
並且由以下三個組件構成:
1. 方法。聲明由客戶端執行的方法(上面描述的方法)。
2.標頭。描述有關如何完成此任務的指令。
3.主體(可選)。定義用在該指令或其他指令中的數據,用以描述如何完成此方法。
在主體組件中,XML 成為整個 WebDAV 結構中的關鍵元素。