我來談一談 WebDAV – – AJAX – JavaEye論壇

來源:互聯網
上載者:User
導讀:
WebDAV(Web-based Distributed Authoring and Versioning)是基於 HTTP 1.1 的一個通訊協定。它為 HTTP 1.1 添加了一些擴充(就是在 GET、POST、HEAD 等幾個 HTTP 標準方法以外添加了一些新的方法),使得應用程式可以直接將檔案寫到 Web Server 上,並且在寫檔案時候可以對檔案加鎖,寫完後對檔案解鎖,還可以支援對檔案所做的版本控制。這個協議的出現極大地增加了 Web 作為一種創作媒體對於我們的價值。基於 WebDAV 可以實現一個功能強大的內容管理系統或者組態管理系統。
我這裡不想詳細介紹 WebDAV 的協議,感興趣的可以在這裡找到相關的資料:
http://www.webdav.org
其中首先應該看的是這份 WebDAV FAQ:
http://www.webdav.org/other/faq.html

WebDAV 本身是一個類似於 HTTP 的通訊協定(IETF RFC 2518)。它與 HTTP  類似,需要實現伺服器和用戶端兩部分軟體。目前 WebDAV 已經有了大量相關的軟體實現。
在這裡是一些與 WebDAV 相關的軟體項目:
http://www.webdav.org/projects/

在這些項目中,我們最感興趣的當然是那些用 Java 實現的開源項目,Slide 是其中最重要的一個項目。Slide 是 Jakarta 項目的一個子項目(又是 Apache 山頭的),提供了一套 WebDAV 的伺服器端和用戶端的開發庫和 API,目前已經出到了 2.0 版。
http://jakarta.apache.org/slide/
在這裡下載最新的 Slide 2.0 的 Binary 包。
http://jakarta.apache.org/site/binindex.cgi
Slide 分成伺服器端和用戶端兩部分:
伺服器端:
http://apache.linuxforum.net/dist/jakarta/slide/binaries/jakarta-slide-server-bin-2.0.zip
用戶端:
http://apache.linuxforum.net/dist/jakarta/slide/binaries/jakarta-slide-webdavclient-bin-2.0.zip

我先講講伺服器端如何配置:
解壓縮,假設在 D:/tmp/jakarta-slide-server-2.0 下,你會在
D:/tmp/jakarta-slide-server-2.0/slide/webapp/
下找到兩個 war 檔案:
slide.war:Slide 伺服器端配置,用 Servlet 實現。
slide-doc.war:Slide 文檔。

把這兩個 war 檔案 copy 到你的 Web Container(Tomcat、Jetty、Resin、etc.) 的部署目錄(一般是 webapps 目錄)下,然後重新啟動 Web Container。

在我現在寫的這個文檔中伺服器端的配置就是這麼簡單。

再講講在用戶端如何配置。
WebDAV 有非常多的用戶端,用 Slide 用戶端的庫可以非常容易地寫出一個 WebDAV 用戶端程式。感興趣的可以看看這篇文檔:
http://www.onjava.com/lpt/a/4387

我主要講講如何用 Windows 2000/XP 內建的 Web Folder 功能來訪問 Web 資料夾。
Windows 2000/XP 安裝後已經具備訪問基於 WebDAV 協議的 Web 資料夾的功能,而且可以把 Web 資料夾映射為一個本地檔案夾,支援拖放、拷貝/粘貼等等功能,使用起來非常方便。
在 Windows 2000/XP 中添加 Web 資料夾的方法是:
開啟“網路位置”,添加網路位置,在“請鍵入網路位置的位置”中輸入 Web 資料夾的 URL,例如我剛才用 Slide 配置好的 WebDAV 伺服器在:
http://localhost:8000/slide/
然後按照嚮導的提示繼續做就可以了,非常的簡單。
配置好了以後你就可以把這個 Web 資料夾當作本地檔案夾一樣使用了。拖幾個檔案進去試試吧。關於上述 Web Folder 的配置可以參考這些文檔:
http://chapters.marssociety.org/webdav/
(幾個閑著沒事孜孜不倦地研究人類如何移民火星的酷哥寫的文檔)
還有 M$ 網站上的相關文檔:
http://www.microsoft.com/windowsxp/home/using/productdoc/en/default.asp?url=/windowsxp/home/using/productdoc/en/using_webfolders_for_file_transfer.asp

M$ 的很多產品都內建有 WebDAV 的支援。例如:Office 2000、IE 5/6、Exchange Server、Frontpage。我配置好 WebDAV 伺服器後,當我訪問這個 URL
http://localhost:8000/slide/files/23.doc
時,Word 2000 可以識別出 Web 服務器支援 WebDAV 協議。於是 Word 2000 可以直接編輯伺服器上的這個文檔,編輯完後可以直接儲存在 Web 服務器上。這個是不是比你習慣的 download->modify->upload 要方便的多?

WebDAV 還有很多話題,比如 WebDAV 完全可以取代 FTP。WebDAV 至少在以下幾個方面對 FTP 具有壓倒性優勢:
1、FTP 需要申請作業系統帳號。WebDAV 不需要申請任何作業系統帳號,它使用一套自己定義的安全完善的身分識別驗證機制。
2、FTP 的所有資料(包括登入資訊)全部使用明文傳送,加密必須要自己來實現,例如:可以手工用 GPG 來做這件事,但是畢竟還是不方便。用 WebDAV 就可以使用 HTTPS 來傳輸資料,加密解密的操作完全是在低層自動完成的。
3、FTP 傳輸資料的傳輸效率比較低,每傳送一個檔案需要開啟一個新的 TCP 串連,而 WebDAV 傳輸所有檔案只需要一個 TCP 串連。
4、FTP 不象 HTTP 那樣容易穿越防火牆,在廣域網路的應用範圍比 HTTP 要小的多。而 WebDAV 因為是基於 HTTP 的,所以具有 HTTP 的所有優點。
5、FTP 用戶端工具沒有 WebDAV 用戶端工具使用方便。你剛才已經看到 WebDAV 伺服器配置好後,通過 Windows 2000/XP 的 Web Folder 方式訪問 Web 資料夾就和訪問本地檔案夾沒有多少區別。如果應用程式支援 WebDAV 協議(例如 Word 2000),就可以直接開啟 Web 資料夾中的檔案並且編輯,然後直接儲存在原先的 Web 資料夾中。這個用起來簡直就和 Samba 完全一樣。你知道哪一個 FTP 用戶端使用起來有這麼方便嗎?

關於 WebDAV 更多的話題,以後慢慢再說吧。

Just for fun!

本文轉自
http://www.javaeye.com/topic/6568

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.