`
jetway
  • 浏览: 483857 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
阅读更多

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 更多的话题,以后慢慢再说吧。

分享到:
评论

相关推荐

    android webdav工具类

    WebDAV工具类在Android应用中通常用于实现文件同步、上传和下载功能,尤其是在处理云存储或协同编辑场景时非常有用。以下是对"android webdav工具类"的详细解释: 1. **WebDAV基本概念**: WebDAV允许客户端不仅...

    webdav客户端中文版

    WebDAV客户端是用于与WebDAV服务器交互的软件,使得用户可以如同操作本地文件系统一样操作远程服务器上的文件。 标题中的"webdav客户端中文版"指的是支持中文界面的WebDAV客户端软件,这为中文用户提供了更加友好的...

    IIS webdav扫描器

    【IIS WebDAV扫描器】是一种专门针对微软Internet Information Services (IIS) Web服务器上WebDAV服务的安全检测工具。WebDAV(Web-based Distributed Authoring and Versioning)是HTTP协议的一个扩展,允许用户...

    webdav实现office在线编辑

    在本场景中,我们将探讨如何利用IIS(Internet Information Services)服务器上的WebDAV功能实现Office文档的在线编辑保存,特别针对Windows 7 SP1操作系统和Office 2007环境。 首先,为了启用WebDAV,我们需要在...

    FileBackup-WebDav 1.8.5 绿色版_结合你的WebDav进行备份.rar

    《FileBackup-WebDav 1.8.5:基于WebDav的高效备份解决方案》 FileBackup-WebDav 1.8.5是一款专为用户设计的绿色版备份工具,它以其便捷性和可靠性在IT领域中占有一席之地。这款软件的核心功能在于其与WebDav服务的...

    如何通过“网上邻居”访问WebDAV服务器

    ### 如何通过“网上邻居”访问WebDAV服务器 #### WebDAV简介 WebDAV(Web Distributed Authoring and Versioning)是一种基于HTTP协议的扩展技术,它支持用户对文件进行远程编辑和管理。WebDAV允许用户如同操作...

    windows linux webdav 挂载

    **Windows和Linux之间WebDAV挂载的知识点详解** WebDAV是一种基于HTTP协议的协议,允许用户编辑和管理远程服务器上的文件。在Windows和Linux系统中,可以通过特定的工具来实现对WebDAV服务器的挂载,以便像操作本地...

    webdav-aliyundriver-2.4.0.zip

    "webdav-aliyundriver-2.4.0.zip" 是一个用于将阿里云盘映射为本地网络驱动器的软件包,通过这个驱动程序,用户可以像操作本地文件系统一样操作阿里云盘中的文件,无需频繁下载和上传,提高工作效率。 该驱动程序的...

    WebDAVScan-WebDAV漏洞扫描器

    WebDAVScan是一款专业的WebDAV漏洞扫描器,用于检测系统是否存在与WebDAV相关的安全漏洞。在网络安全中,了解并检测这些漏洞至关重要,因为它们可能被黑客利用,导致数据泄露、系统破坏或其他恶意活动。 WebDAV的...

    webdav安卓包.zip

    这个“webdav安卓包.zip”文件显然是一个针对Android平台的WebDAV客户端应用的开发资源包。下面我们将详细探讨WebDAV、如何在Android上实现它,以及与群晖NAS(Network Attached Storage)的集成。 首先,WebDAV...

    Python-WsgiDAV是一个用Python开发的通用WebDAV服务器

    Python-WsgiDAV是一个强大的开源项目,专门用于构建WebDAV服务器,它完全由Python语言编写,充分利用了Python的灵活性和可扩展性。WebDAV是一种基于HTTP协议的协议,用于用户编辑和管理存储在远程服务器上的文件。...

    支持Webdav的客户端AnyClient

    AnyClient是一款支持WebDAV协议的客户端软件,同时也支持FTP(File Transfer Protocol)和SFTP(Secure File Transfer Protocol),为用户提供了一种方便的方式来访问和操作远程文件系统。 1. **WebDAV介绍**: - ...

    WebDav_Client.zip

    Microsoft windows2000、XP、Win7及IE, Office还有Adobe/MacroMedia的DW等都支持Webdav,这又大大增强了Web应用的价值,以及效能。对于需要大量发布内容的用户而言,应用WebDav可以降低对CMS系统的依赖,而且能够更...

    tomcat中间件禁用webdav方法

    tomcat中间件禁用webdav方法 通过本方法,可以完成所有运行于该tomcat之上的java项目均拦截webdav方法。

    Qt实现WebDav请求

    Qt实现WebDav请求,基于QNetworkAccessManager、QNetworkReply、QNetworkRequest调用qt自带得sendCustomRequest(const QNetworkRequest &request, const QByteArray &verb, QHttpMultiPart *multiPart)接口实现

    How to Download a File from a WebDAV Server in VB.NET

    在VB.NET中从WebDAV服务器下载文件是一个常见的任务,特别是在进行网络文件系统操作时。WebDAV(Web-based Distributed Authoring and Versioning)是一种基于HTTP协议的协议,允许用户编辑和管理存储在远程服务器上...

    在IIS7中安装和配置WebDAV

    "在IIS7中安装和配置WebDAV" WebDAV是一种基于HTTP的文件共享协议,它可以取代FTP协议,方便用户通过HTTP下载、上传、修改共享内容。下面是关于在IIS7中安装和配置WebDAV的知识点: 1. WebDAV概述 WebDAV(Web-...

    Laravel开发-laravel-webdav

    结合Laravel的灵活性和WebDAV的实用性,"laravel-webdav"项目提供了在Laravel应用中构建WebDAV服务器的强大能力。通过这种方式,你可以为用户提供一个直观的文件管理系统,让他们能通过WebDAV协议无缝地操作存储在...

    AnyClient 64位webdav客户端

    **AnyClient 64位WebDAV客户端** AnyClient是一款多协议文件传输工具,它为用户提供了一种方便的方式来访问和管理远程服务器上的文件。这款工具的64位版本专为处理更大内存需求和提高性能而设计,适用于Windows操作...

    webdav 资料,方法讲解的非常详细。

    ### WebDAV (Web Distributed Authoring and Versioning) 概述与详解 #### 一、引言 WebDAV(Web Distributed Authoring and Versioning)是HTTP协议的一个扩展,旨在支持分布式环境下的文档管理和协作编辑功能。...

Global site tag (gtag.js) - Google Analytics