WebDAV

来自Local Chinese Wikipedia
imported>Cewbot2026年2月16日 (一) 18:12的版本 (清理跨語言連結CalDAV成為內部連結:編輯摘要的紅色連結經繁簡轉換後存在,非bot錯誤編輯 (本次機械人作業已完成48.9%))
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

页面Module:Infobox/styles.css没有内容。

WebDAV
网络传输协议
OSI层级应用层
端口80、443
RFCRFC 2518RFC 4918

基于Web的分布式编写和版本控制Template:Langx,缩写:WebDAV)是超文本传输协议(HTTP)的扩展,有利于用户间协同编辑和管理存储在万维网服务器文档。WebDAV由互联网工程任务组的工作组在RFC 4918中定义。

WebDAV协议为用户在服务器上创建、更改和移动文档提供了一个框架。WebDAV协议最重要的功能包括作者或修改日期等属性的维护、命名空间管理、集合和覆盖保护。为属性维护所提供的功能包括创建、删除和查询文件信息等;命名空间管理处理在服务器名称空间内复制和移动网页的能力;集合package.lua第80行Lua错误:module 'Module:Lang/data/iana languages' not found)处理各种资源的创建、删除和列举;覆盖保护处理与锁定文件相关的问题。WebDAV协议利用TLSHTTP摘要认证XML等技术来满足这些需求。

许多现代操作系统为WebDAV提供了内置的客户端支持。

历史[编辑]

WebDAV创始于1996年,当时加州大学尔湾分校博士毕业生package.lua第80行Lua错误:module 'Module:Ilh/data' not foundW3C共同主办了两场会议,与感兴趣的人讨论万维网上的分布式创作问题。[1][2] 蒂姆·伯纳斯-李对网络的最初看法是涉及阅读和写作的介质。事实上,Berners Lee的第一个Web浏览器WorldWideWeb),可以查看和编辑网页;但是,随着网络的成长,对大多数用户来说成为了只读介质。怀特黑德和其他志同道合的人想超越这个限制。[3]

W3C会议决定成立一个IETF工作组,因为新的工作将导致对HTTP进行扩展,而当时IETF已经开始对HTTP进行标准化。

随着协议的工作开始,很明显,同时处理分布式创作和版本控制将涉及太多的工作,并且任务将不得不分开。WebDAV小组专注于分布式创作,将版本控制留作以后研究。(Delta-V扩展后来加入了版本控制功能 – 请参阅下面的扩展与派生章节。)

package.lua第80行Lua错误:module 'Module:Ilh/data' not found(IESG)接受RFC 2518的增量更新之后,WebDAV工作组在2007年3月结束了其工作。当时还没有完成的其他扩展,比如BIND方法,已经由其独立作者独立于正式工作组完成。

实现[编辑]

File:WebDAV collaborative authoring.png
兼容HTTP服务器中的WebDAV协同编辑

WebDAV扩展了request方法所允许的标准HTTP谓词和HTTP头。增加的谓词包括:

COPY
将资源从一个URI复制到另一个URI
LOCK
锁定一个资源。WebDAV支持共享锁和互斥锁。
MKCOL
创建集合(即目录
MOVE
将资源从一个URI移动到另一个URI
PROPFIND
package.lua第80行Lua错误:module 'Module:Ilh/data' not found中检索以XML格式存储的属性。它也被重载,以允许一个检索远程系统的集合结构(也叫目录层次结构)。
PROPPATCH
在单个package.lua第80行Lua错误:module 'Module:Ilh/data' not found中更改和删除资源的多个属性
UNLOCK
解除资源的锁定

服务器支持[编辑]

  • Apache HTTP Server提供基于package.lua第80行Lua错误:module 'Module:Ilh/data' not foundApache Subversion (svn)的WebDAV模块。
  • 微软IIS也有WebDAV模块。
  • Nginx有非常有限的可选WebDAV模块[4]和第三方模块[5]
  • package.lua第80行Lua错误:module 'Module:Ilh/data' not found是一个PHP应用程序,可以在Apache或Nginx上使用,代替它们的捆绑模块
  • Nextcloud是一个云存储PHP应用程序,它提供了完整的WebDAV支持[6]
  • lighttpd有一个可选的WebDAV模块[7]

客户端支持[编辑]

扩展与派生[编辑]

针对版本控制,Web版本控制与配置管理工作小组下的Delta-V协议增加了资源修订追踪功能,并发表于RFC 3253中。

在搜索和定位方面,WebDAV Search specification接手DAV Searching and Locating(DASL)工作小组的工作,并于2008年11月以RFC 5323发布。[8]

针对日历,CalDAV是一种允许透过WebDAV访问日历的通信协议。CalDAV将日历事件模拟为iCalendar格式的HTTP资源,并将包含事件的日历以WebDAV集合模拟。

对于组群软件而言,GroupDAV是WebDAV的变体,允许客户端/服务器组群软件系统存储和获取对象,例如日历和通讯录项目,而非网页。

针对MS Exchange的互操作性,WebDAV可用于读取/更新/删除信箱或公用文件夹中的项目。适用于Exchange的WebDAV已由微软扩展至可处理消息资料。Exchange Server 2000、2003和2007版本支持WebDAV。但是Exchange 2010已停止支持WebDAV[9],改用Exchange Web Services(EWS),这是一种以SOAP/XML为基础的API

参见[编辑]

参考文献[编辑]

  1. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  2. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  3. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  4. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  5. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  6. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  7. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  8. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found
  9. package.lua第80行Lua错误:module 'Module:Citation/CS1/People' not found

外部链接[编辑]

package.lua第80行Lua错误:module 'Module:Authority control/config' not found