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 发布目录中的资源。例如,使用此功能,具有正确权限的用户可以在 WebDAV
目 录中复制和移动文件。
·修改与某些资源相关联的属性。例如,用户可写入并检索文件的属性信息。
·锁定并解锁资源以便多个用户可同时读取一个文件。但每次只能有一个人修改文件。
·搜索 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 安全性的信息,请参阅安全性。
http://www.netbei.com/online/iisHelp/iis/htm/core/iisecsa.htm
由于具有适当权限的客户端可以对 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 中使用的方法包括:
• Options、Head 和 Trace。 主要由应用程序用来发现和跟踪服务器支持和网络行为。
• Get。 检索文档。
• Put 和 Post。 将文档提交到服务器。
• Delete。 销毁资源或集合。
• Mkcol。 创建集合。
• PropFind 和 PropPatch。 针对资源和集合检索和设置属性。
• Copy 和 Move。 管理命名空间上下文中的集合和资源。
• Lock 和 Unlock。 改写保护。
WebDAV 请求的一般结构遵循 HTTP 的格式并且由以下三个组件构成:
• 方法。 声明由客户端执行的方法(上面描述的方法)。
• 标头。 描述有关如何完成此任务的指令。
• 主体(可选)。 定义用在该指令或其他指令中的数据,用以描述如何完成此方法。
在主体组件中,XML 成为整个 WebDAV 结构中的关键元素。
---------------------------------------------------------------------------------------------------------------
转载自simonezhlx的专栏(http://blog.csdn.net/simonezhlx/article/details/4221121)