WebDAV:修订间差异
日期20220626(留言 | 贡献) // Edit via Wikiplus |
修正筆誤 |
||
第45行: | 第45行: | ||
* [[Apache HTTP Server]]提供基于[[davfs]]和[[Subversion|Apache Subversion (svn)]]的WebDAV模块。 |
* [[Apache HTTP Server]]提供基于[[davfs]]和[[Subversion|Apache Subversion (svn)]]的WebDAV模块。 |
||
* [[微软]]的[[網際網路資訊服務|IIS]]也有WebDAV模块。 |
* [[微软]]的[[網際網路資訊服務|IIS]]也有WebDAV模块。 |
||
* [[Nginx]]有非常有限的可选 |
* [[Nginx]]有非常有限的可选WebDAV模块<ref>{{cite web|title=Module ngx_http_dav_module|url=http://nginx.org/en/docs/http/ngx_http_dav_module.html|website=nginx website|accessdate=15 July 2016|archive-date=2020-10-06|archive-url=https://web.archive.org/web/20201006184153/http://nginx.org/en/docs/http/ngx_http_dav_module.html|dead-url=no}}</ref>和第三方模块<ref>{{cite web|title=Module nginx-dav-ext-module|url=https://github.com/arut/nginx-dav-ext-module/|website=github.com|accessdate=2 August 2016|archive-date=2020-10-31|archive-url=https://web.archive.org/web/20201031112559/https://github.com/arut/nginx-dav-ext-module|dead-url=no}}</ref> |
||
* [[SabreDAV]]是一个PHP应用程序,可以在Apache或Nginx上使用,代替它们的捆绑模块 |
* [[SabreDAV]]是一个PHP应用程序,可以在Apache或Nginx上使用,代替它们的捆绑模块 |
||
* [[Nextcloud]]是一个云存储PHP应用程序,它提供了完整的WebDAV支持<ref>{{cite web|title=Nextcloud 11 User Manual|url=https://docs.nextcloud.com/server/11/user_manual/files/access_webdav.html|website=nextcloud.com|accessdate=19 September 2017|archive-date=2017-05-21|archive-url=https://web.archive.org/web/20170521154143/https://docs.nextcloud.com/server/11/user_manual/files/access_webdav.html|dead-url=no}}</ref> |
* [[Nextcloud]]是一个云存储PHP应用程序,它提供了完整的WebDAV支持<ref>{{cite web|title=Nextcloud 11 User Manual|url=https://docs.nextcloud.com/server/11/user_manual/files/access_webdav.html|website=nextcloud.com|accessdate=19 September 2017|archive-date=2017-05-21|archive-url=https://web.archive.org/web/20170521154143/https://docs.nextcloud.com/server/11/user_manual/files/access_webdav.html|dead-url=no}}</ref> |
||
* [[lighttpd]]有一个可选的 |
* [[lighttpd]]有一个可选的WebDAV模块<ref>{{Cite web|url=http://redmine.lighttpd.net/projects/1/wiki/Docs_ModWebDAV|title=lighttpd mod webdav|last=|first=|date=|website=|archive-url=https://web.archive.org/web/20200927074625/https://redmine.lighttpd.net/projects/1/wiki/Docs_ModWebDAV|archive-date=2020-09-27|dead-url=no|access-date=}}</ref> |
||
=== 客户端支持 === |
=== 客户端支持 === |
2022年7月21日 (四) 02:45的版本
基于Web的分布式编写和版本控制(WebDAV)是超文本传输协议(HTTP)的扩展,有利于用户间协同编辑和管理存储在万维网服务器文档。WebDAV由互联网工程任务组的工作组在RFC 4918中定义。
WebDAV协议为用户在服务器上创建、更改和移动文档提供了一个框架。WebDAV协议最重要的功能包括维护作者或修改日期的属性、命名空间管理、集合和覆盖保护。维护属性包括创建、删除和查询文件信息等。命名空间管理处理在服务器名称空间内复制和移动网页的能力。集合(Collections)处理各种资源的创建、删除和列举。覆盖保护处理与锁定文件相关的方面。
许多现代操作系统为WebDAV提供了内置的客户端支持。
历史
WebDAV创始于1996年,当时加州大學爾灣分校博士毕业生Jim Whitehead与W3C共同主办了两场会议,与感兴趣的人讨论万维网上的分布式创作问题。[1][2] 蒂姆·伯纳斯-李对网络的最初看法是涉及阅读和写作的媒介。事实上,Berners Lee的第一个Web浏览器(WorldWideWeb),可以查看和编辑網頁;但是,随着网络的成长,对大多数用户来说成为了只读媒介。怀特黑德和其他志同道合的人想超越这个限制。[3]
W3C会议决定成立一个IETF工作组,因为新的工作将导致对HTTP进行扩展,而当时IETF已经开始对HTTP进行标准化。
随着协议的工作开始,很明显,同时处理分布式创作和版本控制将涉及太多的工作,并且任务将不得不分开。WebDAV小组专注于分布式创作,将版本控制留作以后研究。(The Delta-V extension added versioning later – see the Extensions section below.)
在互联网工程指导组(IESG)接受RFC 2518的增量更新之后,WebDAV工作组在2007年3月结束了其工作。当时还没有完成的其他扩展,比如BIND方法,已经由其独立作者独立于正式工作组完成。
实现
WebDAV扩展了request方法所允许的标准HTTP谓词和HTTP头。增加的谓词包括:
- COPY
- 将资源从一个URI复制到另一个URI
- LOCK
- 锁定一个资源。WebDAV支持共享锁和互斥锁。
- MKCOL
- 创建集合(即目录)
- MOVE
- 将资源从一个URI移动到另一个URI
- PROPFIND
- 从Web资源中检索以XML格式存储的属性。它也被重载,以允许一个检索远程系统的集合结构(也叫目录层次结构)。
- PROPPATCH
- 在单个原子性动作中更改和删除资源的多个属性
- UNLOCK
- 解除资源的锁定
服务器支持
- Apache HTTP Server提供基于davfs和Apache Subversion (svn)的WebDAV模块。
- 微软的IIS也有WebDAV模块。
- Nginx有非常有限的可选WebDAV模块[4]和第三方模块[5]
- SabreDAV是一个PHP应用程序,可以在Apache或Nginx上使用,代替它们的捆绑模块
- Nextcloud是一个云存储PHP应用程序,它提供了完整的WebDAV支持[6]
- lighttpd有一个可选的WebDAV模块[7]
客户端支持
- Git支持写入HTTP远端,尽管需要特殊服务器支持的HTTP的“智能”Git协议已经成为WebDAV的首选协议
- Linux通过GVfs(包括GNOME文件)或通过KIO(包括Konqueror和Dolphin)支持WebDAV
- macOS对CalDAV和CardDAV有原生支持,其设计基于WebDAV
- Microsoft Windows,其Explorer有原生支持
- Microsoft Office
- WebDAV软件比较
参见
参考文献
- ^ Proposed agenda for San Mateo Meeting. 1996 [2018-02-03]. (原始内容存档于2020-10-29).
- ^ Brief mtg. summary. 1996 [2018-02-03]. (原始内容存档于2016-05-27).
- ^ Re: Updated agenda. [2018-02-03]. (原始内容存档于2016-05-27).
- ^ Module ngx_http_dav_module. nginx website. [15 July 2016]. (原始内容存档于2020-10-06).
- ^ Module nginx-dav-ext-module. github.com. [2 August 2016]. (原始内容存档于2020-10-31).
- ^ Nextcloud 11 User Manual. nextcloud.com. [19 September 2017]. (原始内容存档于2017-05-21).
- ^ lighttpd mod webdav. (原始内容存档于2020-09-27).