WebDAV
Template:NoteTA Template:Infobox networking protocol 基於Web的分佈式編寫和版本控制(Template:Langx,縮寫:WebDAV)是超文本傳輸協議(HTTP)的擴展,有利於用戶間協同編輯和管理存儲在萬維網伺服器文檔。WebDAV由互聯網工程任務組的工作組在Template:IETF RFC中定義。
WebDAV協議為用戶在伺服器上創建、更改和移動文檔提供了一個框架。WebDAV協議最重要的功能包括作者或修改日期等屬性的維護、命名空間管理、集合和覆蓋保護。為屬性維護所提供的功能包括創建、刪除和查詢文件信息等;命名空間管理處理在伺服器名稱空間內複製和移動網頁的能力;集合(腳本錯誤:沒有「Lang」這個模塊。)處理各種資源的創建、刪除和列舉;覆蓋保護處理與鎖定文件相關的問題。WebDAV協議利用TLS、HTTP摘要認證、XML等技術來滿足這些需求。
許多現代作業系統為WebDAV提供了內置的客戶端支持。
歷史[編輯]
WebDAV創始於1996年,當時加州大學爾灣分校博士畢業生Template:Le與W3C共同主辦了兩場會議,與感興趣的人討論萬維網上的分佈式創作問題。[1][2] 蒂姆·伯納斯-李對網絡的最初看法是涉及閱讀和寫作的媒介。事實上,Berners Lee的第一個Web瀏覽器(WorldWideWeb),可以查看和編輯網頁;但是,隨着網絡的成長,對大多數用戶來說成為了只讀媒介。懷特黑德和其他志同道合的人想超越這個限制。[3]
W3C會議決定成立一個IETF工作組,因為新的工作將導致對HTTP進行擴展,而當時IETF已經開始對HTTP進行標準化。
隨着協議的工作開始,很明顯,同時處理分佈式創作和版本控制將涉及太多的工作,並且任務將不得不分開。WebDAV小組專注於分佈式創作,將版本控制留作以後研究。(Delta-V擴充套件後來加入了版本控制功能Template:Snd請參閱下面的擴充與衍生章節。)
在Template:Le(IESG)接受Template:IETF RFC的增量更新之後,WebDAV工作組在2007年3月結束了其工作。當時還沒有完成的其他擴展,比如BIND方法,已經由其獨立作者獨立於正式工作組完成。
實現[編輯]
WebDAV擴展了request方法所允許的標準HTTP謂詞和HTTP頭。增加的謂詞包括:
- COPY
- 將資源從一個URI複製到另一個URI
- LOCK
- 鎖定一個資源。WebDAV支持共享鎖和互斥鎖。
- MKCOL
- 創建集合(即目錄)
- MOVE
- 將資源從一個URI移動到另一個URI
- PROPFIND
- 從Template:Le中檢索以XML格式存儲的屬性。它也被重載,以允許一個檢索遠程系統的集合結構(也叫目錄層次結構)。
- PROPPATCH
- 在單個Template:Le中更改和刪除資源的多個屬性
- UNLOCK
- 解除資源的鎖定
伺服器支持[編輯]
- Apache HTTP Server提供基於Template:Le和Apache Subversion (svn)的WebDAV模塊。
- 微軟的IIS也有WebDAV模塊。
- Nginx有非常有限的可選WebDAV模塊[4]和第三方模塊[5]
- Template:Le是一個PHP應用程式,可以在Apache或Nginx上使用,代替它們的捆綁模塊
- Nextcloud是一個雲存儲PHP應用程式,它提供了完整的WebDAV支持[6]
- lighttpd有一個可選的WebDAV模塊[7]
客戶端支持[編輯]
- Git支持寫入HTTP遠端,儘管需要特殊伺服器支持的HTTP的「智能」Git協議已經成為WebDAV的首選協議
- Linux通過GVfs(包括GNOME文件)或通過KIO(包括Konqueror和Dolphin)支持WebDAV
- macOS對CalDAV和CardDAV有原生支持,其設計基於WebDAV
- Microsoft Windows,其Explorer有原生支持
- Microsoft Office
擴充與衍生[編輯]
針對版本控制,Web版本控制與組態管理工作小組下的Delta-V協定增加了資源修訂追蹤功能,並發表於Template:IETF RFC中。
在搜尋和定位方面,WebDAV Search specification接手DAV Searching and Locating(DASL)工作小組的工作,並於2008年11月以Template:IETF RFC發佈。[8]
針對行事曆,CalDAV是一種允許透過WebDAV存取行事曆的通訊協定。CalDAV將行事曆事件模擬為iCalendar格式的HTTP資源,並將包含事件的行事曆以WebDAV集合模擬。
對於群組軟件而言,GroupDAV是WebDAV的變體,允許用戶端/伺服器群組軟件系統儲存和取得物件,例如行事曆和通訊錄項目,而非網頁。
針對MS Exchange的互操作性,WebDAV可用於讀取/更新/刪除信箱或公用資料夾中的項目。適用於Exchange的WebDAV已由微軟擴展至可處理訊息資料。Exchange Server 2000、2003和2007版本支援WebDAV。但是Exchange 2010已停止支援WebDAV[9],改用Exchange Web Services(EWS),這是一種以SOAP/XML為基礎的API。
參見[編輯]
參考文獻[編輯]
外部連結[編輯]
- WebDAV Resources
- Davfs2 project (頁面存檔備份,存於互聯網檔案館)
- Fusedav project(頁面存檔備份,存於互聯網檔案館)
- WebDAV Apache modules (頁面存檔備份,存於互聯網檔案館)
- WebDAV Drive Mapping Tool
腳本錯誤:沒有「Authority control」這個模塊。腳本錯誤:沒有「Check for unknown parameters」這個模塊。