我來談一談 WebDAV - - AJAX - JavaEye論壇
導讀:
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
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
相關文章
- 當我們談論格鬥遊戲時,我們在談論什麼遊戲
- 我也想來談談HTTPSHTTP
- 談談《我的網際網路方法論》
- 當我們談論CloudTable時究竟在談論什麼?Cloud
- 【經驗心得】談一談我IT行業未來的方向行業
- 當我們在談論HTTP快取時我們在談論什麼HTTP快取
- 我們們一起來談談,redis為什麼快?Redis
- 談談jQuery中Ajax那些事jQuery
- 我來談談“人工智慧”這個詞給我帶來了哪些想法人工智慧
- 這篇文章,我們來談一談Spring中的屬性注入Spring
- 當我們在談論建構函式注入的時候我們在談論什麼函式
- 談談如何抓取ajax動態網站網站
- 談談 ajax 工作過程那點事
- 談談論文級別
- 一起來談談 Spring AOP!Spring
- 談一談我所瞭解的HTTPSHTTP
- 談一談我對Spring Resource的理解Spring
- 讓我們談談自動駕駛的未來和「道德」自動駕駛
- 談一談越來越難做的前端前端
- 當我們談論Spring的時候到底在談什麼Spring
- 容智資訊受邀出席WAIC“AI商業落地”論壇,暢談人工智慧新未來AI人工智慧
- ROR I10N問題及關於javaeye論壇的一些閒話薦Java
- 當我們談論Promise時,我們說些什麼Promise
- AJAX請求真的不安全麼?談談Web安全與AJAX的關係。Web
- 談談我對評論系統有限層及無限層評論的膚淺認知
- 當我談 HTTP 時,我談些什麼?HTTP
- 外行假裝內行,我也來談談SAP BAPI和BADIAPI
- 實踐之後,我們來談談如何做好威脅建模
- 我也 30 了,來談談程式設計師的迷茫年齡程式設計師
- 也來談談CFRunLoop(NSRunLoop)OOP
- Python 之父談論 Python 的未來Python
- 為什麼我們仍在談論軟體整合?
- 淺談群論
- 談一談我對‘模板方法’設計模式的理解(Template)設計模式
- 當我談開源時,我談些什麼?
- 淺談Ajax的優缺點
- 談談我對Monad的理解
- 談一談PromisePromise