WebDAV簡介

chuanzhongdu1發表於2011-10-16

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

Microsoft windows2000/XP及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 傳輸資訊提供了更嚴格的安全性措施。有關摘要式身份驗證的資訊,請參閱摘要式身份驗證和配置摘要式身份驗證。有關高階摘要式身份驗證的資訊,請參閱高階摘要式身份驗證和配置高階摘要式身份驗證。

編輯本段WebDAV的優勢

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

編輯本段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 結構中的關鍵元素。