WebDAV

来源:互联网 发布:ce5..4源码 编辑:程序博客网 时间:2024/05/21 16:59
WebDAV 是对 HTTP/1.1 协议的扩展,添加了新的 HTTP 方法和标头,支持任意类型的 Web 制作,不仅支持 HTML 和 XML,还支持文本、图形、电子表格等格式。


使用 WebDAV 可以完成的工作包括:


1.          特性(元数据)处理。您可以使用 WebDAV 方法 PROPFIND 和 PROPPATCH 创建、删除和查询有关 Web 页面的信息,例如作者和创建日期。


2.          集合和资源管理。您可以使用 WebDAV 方法 GET、PUT、DELETE 和 MKCOL 创建文档集合并检索分层结构成员列表(类似于文件系统中的目录列表)。


3.          锁定。您可以使用 WebDAV 禁止多人同时对一个文档进行操作。可以通过 WebDAV 方法 LOCK 和 UNLOCK 使用互斥锁或共享锁,这将有助于防止出现“丢失更新”(更改被覆盖)的问题。


4.          名称空间操作。您可以使用 WebDAV 方法 COPY 和 MOVE 让服务器复制和删除 Web 资源。




常见WebDAV术语




URI。URI(统一资源标识符)是一种文件标识符,通过使用缩写的 URL 提供了额外的安全保护。一个 URL 映射代替了 URL 的第一部分,从而对用户隐藏了文件的完整物理路径名。




源 URI。术语“源 URI”是指能用来访问资源的源代码的 URI。



集合。 WebDAV 集合是为 WebDAV 操作启用的一个或一组资源。集合包含一组称为成员 URI 的 URI,它们标识了启用了 WebDAV 的成员资源。



成员 URI。集合中一组 URI 中的一个成员。



内 部成员 URI。与集合的 URI 直接相关的一个成员 URI。例如,如果 URL 为 http://xx.xx.com/webdav/doc 的资源启用了 WebDAV,并且如果 URL 为 [url]http://xx.xx.com/webdav/[/url] 的资源也启用了 WebDAV,则 URL 为 [url]http://xx.xx.com/webdav/[/url] 的资源就是一个集合,它包含 [url]http://xx.xx.com/webdav/doc[/url] 并将其作为一个内部成员。



特性。一个包含资源的相关说明性信息的“名称/值”对。使用特性可以有效地查找和管理资源。例如,可以使用特性“creationdate”按资源的创建日期索引所有资源,或者使用特性“author”按作者姓名进行索引。



锁定。锁定资源功能提供了这样一种机制,即可以保证在一个用户编辑资源时,其他用户不能进行修改。锁定可以防止发生覆盖冲突,解决了“丢失更新”的问题。



新 HTTP 方法。WebDAV 引入了若干新 HTTP 方法,用于告知启用了 WebDAV 的服务器如何处理请求。这些方法是对现有方法(例如 GET、PUT 和 DELETE)的补充,可用来执行 WebDAV 事务。下面简要介绍这些新 HTTP 方法:

 

l  Destination:


l  Lock-Token:


l  Timeout:DAV:


l  If:


l  Depth:


l  Overwrite:



新 HTTP 方法。WebDAV 引入了若干新 HTTP 方法,用于告知启用了 WebDAV 的服务器如何处理请求。这些方法是对现有方法(例如 GET、PUT 和 DELETE)的补充,可用来执行 WebDAV 事务。下面简要介绍这些新 HTTP 方法:


•         COPY。用于复制资源。可以使用 Depth: 标头移动资源,使用 Destination: 标头指定目标。如果适用,COPY 方法也使用 Overwrite: 标头。


•         MOVE。用于移动资源。可以使用 Depth: 标头移动资源,使用 Destination: 标头指定目标。如果适用,MOVE 方法也使用 Overwrite: 标头。


•         MKCOL。用于创建新集合。使用此方法可避免过载 PUT 方法。


•         PROPPATCH。用于设置、更改或删除单个资源的特性。


•         PROPFIND。用于获取一个或多个资源的一个或多个特性。当客户机向服务器提交对某个集合的 PROPFIND 请求时,该请求可能会包含一个值为 0、1 或 infinity 的 Depth: 标头。


o        0。指定将获取指定 URI 处的集合的特性。


o        1。指定将获取该集合以及位于该指定 URI 之下与其紧邻的资源的特性。


o        infinity。指定将获取该集合及其包含的所有成员 URI 的特性。由于深度为无穷大的请求需要遍历整个集合,因而会大大增加服务器的负担。


•         LOCK。为资源添加锁。使用 Lock-Token: 标头。


•         UNLOCK。删除资源的锁。使用 Lock-Token: 标头。



关于pear/HTTP_WebDAV_Server 




  PHP和WebDAV两者结合有两种办法,一通过Apache的mod_dav模块实现;还有就是通过pear 的HTTP_WebDAV_Server 提供的这个framework用程序来实现。前者实现起来简单,后者可以结合实际情况,容易扩展,更容易和别的系统对接、整合。




功能


1.          与 RFC2518 的兼容性,与 RFC2518 客户机的互操作性


2.          可扩展和完善的权限访问控制


3.          可以方便的创建基于WebDAV的文件系统




需要在PHP 4.3 以上版本支持




下载地址:[url]http://cvs.php.net/pear/HTTP_WebDAV_Server/[/url]




  HTTP_WebDAV_Server的详细说明文件内容,我英文不是很好,仅限能看懂级别,翻译出来怕大家拿臭鸡蛋砸。还是请有心人自己看吧.
[url]http://cvs.php.net/co.php......WebDAV_Server/dav.txt?r=1.3[/url]




WebDAV资源站点:


[1] [url]http://webdav.org[/url]
[2] [url]http://www.azzit.de/phpwebdav[/url]
[3] [url]http://lwest.free.fr/doc/php/lib[/url]
[4] [url]http://bitflux.ch/developer[/url]


[b]原文:[url]http://www.9iec.com/Elma/index.php?job=art&articleid=a_20051025_013440[/url][/b]

 
原创粉丝点击