什么是WebDAV?在什么情况下会遇到?它与替代品有何不同?
Web和WebDAV
万维网原本是一种消费媒介 和 生产内容。但是网络浏览器几乎立即失去了编辑网页的能力,只读内容迅速膨胀,成为压倒一切的规范。.
最早的网络浏览器支持编辑网页.
但是,经常需要对远程内容进行协作编辑,因此它以多种形式出现在网络上。 WebDAV(Web分布式创作和版本控制)是一种机制。同时支持WebDAV的Web服务器的工作方式类似于文件服务器。强大的功能.
您可能会在Apache HTTP Server,Microsoft IIS,Box.com,WordPress,Drupal,Microsoft Sharepoint,Subversion,Git,Windows Explorer,macOS Finder,Microsoft Office,Apple iWork,Adobe Photoshop和许多其他地方遇到WebDAV.
WebDAV的历史可以追溯到90年代后期。在互联网时代,它是古老的。在Web协议和API的世界中,它早于SOAP / XML和RESTful体系结构。尽管具有很长的使用寿命,但WebDAV的实现可能有些古怪。许多服务器和客户端实现所涉及的多个标准的子集或扩展子集。因此无法假定互操作性;成功取决于平台,环境和特定于供应商的扩展.
由于所有这些,在许多用例中,WebDAV被更现代的机制所取代。但是,如果匹配正确的服务器和客户端,它仍然是强大的功能和可靠的主力。您可以在许多不同的情况下遇到它.
什么是WebDAV?
WebDAV(RFC 4918)是对HTTP的扩展,HTTP是Web浏览器和Web服务器用于相互通信的协议。 WebDAV协议使Web服务器也可以像文件服务器一样工作,支持Web内容的协作创作.
WebDAV扩展了标准HTTP方法和标头集,以提供创建文件或文件夹,就地编辑文件,复制或移动或删除文件等的功能。作为HTTP的扩展,WebDAV通常使用端口80进行未加密访问和端口443(HTTPS)用于安全访问.
为了支持协作创作,WebDAV的原始规范包括文件锁定,但是由于修订跟踪域的复杂性,它在DAV的“版本”部分上使用了小技巧。后来定义了DeltaV(RFC 3253),它是WebDAV的版本控制和配置管理。在以后的扩展中(RFC 5323)也添加了搜索功能。.
文件访问和操作是一种易于理解的功能,对广大受众有用。但是修订跟踪对于非技术用户而言是陌生的。操作系统,版本控制系统和应用程序也没有用于建模历史和更改的通用方法。正在使用许多方案。结果,不带版本控制的WebDAV被广泛使用,而DeltaV的实施却不那么广泛.
如果遇到称为“ 1类”的WebDAV服务器,则意味着它没有锁定。 2类包括锁定。具有版本控制功能的WebDAV服务器通常仅称为“ DeltaV”服务器.
WebDAV本身就是其他协议的基础,包括日历(CalDAV)和联系人管理(CardDAV).
在哪里可以找到WebDAV
WebDAV在服务器或客户端的许多不同上下文中出现.
一个警告:其中许多已经支持WebDAV已有一段时间了。如果WebDAV不是特定软件包的核心,则可能无法像以前那样维护WebDAV功能。.
WebDAV服务器
WebDAV服务器始终是Web服务器,但可以嵌入到另一个系统中.
通用Web服务器
默认的开放源WebDAV实现在Apache HTTP Server中。许多Web服务器通过Nginx,lighttpd和Microsoft IIS等附加模块支持WebDAV。.
版本控制系统
可通过某种形式的WebDAV访问多个版本控制系统,包括Subversion,Git和PVCS.
协作平台和内容管理系统
诸如Microsoft Sharepoint之类的协作平台或诸如WordPress,Drupal或Joomla之类的CMS可能内置WebDAV或通过附加模块提供.
网络附加存储和云存储服务
LAN上的网络附加存储(NAS)设备可能支持通过WebDAV进行远程访问。 Box.com之类的云文件托管服务可能会为您提供通过WebDAV访问文件夹和文件的权限.
各种应用
WebDAV出现在随机的地方,在这些地方有用的远程文件操作和编辑。例如,系统设计平台LabView可以使用WebDAV将文件传输到嵌入式目标计算机或从嵌入式目标计算机传输文件。.
WebDAV客户端
如Subversion文档所述,WebDAV客户端是独立的应用程序,文件资源管理器的扩展或文件系统模块。具体来说,WebDAV客户端可以是以下之一.
WebDAV文件访问应用
旨在使您能够访问远程文件的应用程序可能完全面向WebDAV,例如Linux命令行工具cadaver或图形DAV Explorer。或者它们可能是使用多种协议的工具,例如WinSCP或Cyberduck.
使用WinSCP通过WebDAV浏览远程文件.
这些使您可以下载和上传文件,操作文件夹等; GUI提供拖放和相关的视觉隐喻.
使用WebDAV的应用
一系列应用程序可以处理通过WebDAV访问的文件。该应用程序的文件选择对话框不仅支持输入本地文件名,还支持输入WebDAV URL,以及WebDAV服务器所需的用户名和密码。这些应用程序包括Microsoft Office(Word,Excel等); Apple iWork(页面,数字,主题演讲); Adobe Photoshop和Dreamweaver;和别的.
当此类应用程序处理WebDAV服务器上的文件或文件夹时,WebDAV便在幕后工作,以提供协作的远程文件修改。服务器上的文件被“就地”编辑,而无需下载到本地文件系统以供以后重新上传(这会创建多个副本,这些副本可能不同步。)
文件浏览器扩展
大多数操作系统文件管理器的用户界面都包含一个扩展,用于呈现和操作WebDAV文件夹和文件,就好像它们是本地的一样。其中包括Windows文件资源管理器,macOS Finder和GNOME文件(Nautilus)以及Linux上的KDE Konqueror.
在Windows资源管理器中将WebDAV服务器映射为网络驱动器.
在每种情况下,都会提供一个“连接到服务器”选项,您可以在其中提供WebDAV服务器的URL(可悲的是,URL格式因工具而异)。然后,提供用于访问服务器的用户名和密码。.
Windows资源管理器中映射的WebDAV服务器.
文件管理器将可通过WebDAV访问的远程文件和文件夹显示为可单击,拖放等的本地资源。.
文件系统模块
多个操作系统包括使用低级文件系统模块的选项,该模块可将连接安装或映射到WebDAV服务器的连接作为驱动器或安装。其中包括Microsoft WebDAV重定向器,macOS WebDAV文件系统以及Linux GNOME GVfs和KDE KIO.
操作系统映射/安装了WebDAV服务器后,通过WebDAV公开的文件和文件夹似乎是本地的。普通文件访问调用可以访问它们,并且任何本地应用程序都在不知道其真实位置的情况下访问它们.
WebDAV的替代品
WebDAV启用远程文件编辑和操作。还有许多其他机制可用于处理远程服务器上的文件。 WebDAV有何不同?
的FTP
FTP(文件传输协议)可以追溯到互联网的早期。当时的互联网是一个小镇,因此,香草FTP的安全性完全不足以应对当今互联网的混乱局面。相反,WebDAV利用HTTPS安全性。 FTP的设计对防火墙不友好,WebDAV依靠标准机制来支持Web服务器。 FTP需要其自己的服务器进程,其中WebDAV驻留在Web服务器中。而且FTP不包含面向协作的功能,例如锁定和版本跟踪.
FTP的后代可以通过在SSL / TLS或SSH之上运行FTP的扩展或类似的协议来满足安全性需求.
SSH协议
SSH(安全外壳)协议使用加密技术来安全地提供操作系统服务,例如通过不安全的网络进行文件访问和命令执行。服务包括SCP(安全复制协议)和SFTP(安全文件传输协议).
SSH(以及SCP和SFTP)需要自己的服务器进程和防火墙规则,但对SSH的支持在Linux和macOS上几乎是通用的,并且最近已成为Windows 10的内置服务(以前需要第三方软件) 。 SCP仅处理移动文件,SFTP可以在其中处理文件夹,删除文件等。 SFTP协议确实支持文件锁定,但您还不能指望它存在并启用.
维基
当我们谈论在网络上协同生产内容时,Wiki是一个明显的例子。 Wiki是团体编辑的网站,可用作项目知识库,笔记记录工具,社区网站等。.
Wiki允许其用户使用普通的Web浏览器修改页面上的内容,创建页面以及修改页面之间的连接-无需像WebDAV这样的特殊协议.
Wiki通常使用简化的标记语言,它比HTML的局限性更大,而且掌握起来也更快。 Wiki引擎位于WebDAV之类的Web服务器中。为了允许香草浏览器进行编辑,Wiki不包含编辑多媒体文件的功能,并且唯一包含的“文件/文件夹管理”功能是可以在Wiki页面之间创建和修改超链接。.
维基的理想是网站是众包和自组织的。任何用户都可以进行修改,并且没有预定义的所有者或网守。无政府主义的理想常常被妥协。有各种Wiki引擎,并且许多引擎支持用户身份验证并在操作上施加访问控制.
分布式文件系统
跨网络共享远程文件系统有多种协议,其最常用的用途是映射/挂载服务器导出的网络共享,从而使您可以像访问本地驱动器一样访问服务器上的文件夹和文件。 SMB / CIFS是Windows固有的; NFS原生于Unix / Linux;对于MacOS,不建议使用旧的默认AFP,而建议使用SMB.
这些协议实质上提供了本地驱动器上文件系统的所有服务,包括文件锁定,但不提供内置文件版本跟踪.
分布式文件系统功能通常随操作系统一起提供。如果稍后添加,它们通常需要将其他模块添加到操作系统.
开发这些协议是为了在LAN上工作。广域网或VPN上的性能将不会很出色,尽管您可以通过调优来缓解这种情况,而更高版本的协议会尝试解决这种新用途.
这些协议的攻击面比WebDAV等简单协议要大得多。尽管某些最新版本(例如NFSv4和SMB3)进行了改进,以支持在不受信任的网络上安全使用,但是这些服务的大多数版本在LAN之外都不安全,并且将其配置为此类使用很危险。.
云文件存储
像Dropbox,Microsoft OneDrive,Google Drive和Box.com这样的云存储服务似乎是WebDAV的自然之所。它确实显示在其中一些中– Box.com可通过WebDAV访问,而OneDrive可通过标准Windows WebDAV工具访问(尽管只有在未安装OneDrive文件同步的情况下才需要此功能)。其他云存储服务提供了它们自己的专用API,文件同步软件和Web应用程序客户端,如果要访问WebDAV,则需要使用第三方网关。.
云服务提供的专用API,文件同步软件和Web应用程序客户端旨在通过Internet等网络提供安全性和性能.
为什么选择WebDAV?
尽管可以使用WebDAV替代方案,但其中一些是较新的系统,但没有一个竞争对手的系统可以集成WebDAV的所有功能。 WebDAV的关键属性是:
- 操作系统整合
- 免费使用
- 与Web服务紧密集成
- 版本控制
- 传输加密
- 远程访问
- 集中存储
- 版本控制
- 文件锁定
没有其他文件管理系统具有所有这些属性。您可以使用SFTP和SCP安全地传输文件,但是这些协议不包含版本控制。 WebDav允许对中央存储中的文档进行远程访问,而无需将文件复制到用户的本地计算机上,然后再次复制回.
您可以购买用于管理协作创作的软件包,但是之后您将需要购买仅复制WebDAV服务的系统,而该系统可以免费获得。.
尽管WebDAV有时被描述为过时的方法,但它为流行的云存储公司提供了很好的服务,可提供对远程文件的无缝本地访问。作业共享,项目管理,协作创作,开发协调,远程办公和云服务的现代工作实践对WebDAV能够提供数十年的服务提出了要求。在某种程度上,WebDAV处于领先地位,直到现在,企业才开始以需要完整的WebDAV功能的方式进行运营.
WebDAV服务器和客户端仍然强大
WebDAV是一个长期的协议,它使Web服务器可以充当文件服务器并支持Web上内容的协作创作。在许多用例中,WebDAV已被更现代的机制所取代。但是,当匹配正确的服务器和客户端时,它仍然是可靠的主力军,因此在许多不同的应用程序中仍然会遇到.
Geralt提供的industry-industry-4-network-points,获得CC0许可.
WorldWideWeb(原始的基于NeXT的网络浏览器),c。 1993年,蒂姆·伯纳斯·李(Tim Berners-Lee)为欧洲核子研究组织(CERN)–通过维基百科.
AV一样使用特定的协议。然而,Wiki通常不支持文件锁定和版本控制,这使得它不适合处理需要精细控制的文件. 分布式文件系统 分布式文件系统(DFS)是一种将文件系统分布在多个计算机上的技术。DFS可以在多个计算机之间共享文件,使其在多个计算机上可用。DFS通常使用特定的协议,例如NFS(网络文件系统)或CIFS(通用Internet文件系统)。DFS通常不支持文件锁定和版本控制,这使得它不适合处理需要精细控制的文件. 云文件存储 云文件存储是一种将文件存储在云中的技术。云文件存储服务提供商(例如Dropbox,Google Drive和OneDrive)提供了一种简单的方法来存储和共享文件。这些服务通常使用特定的协议,例如REST API或WebDAV。云文件存储通常不支持文件锁定和版本控制,这使得它不适合处理需要精细控制的文件. 为什么选择WebDAV? WebDAV是一种成熟的技术,已经存在了很长时间。它是一种通用的协议,可以在许多不同的上下文中使用。它支持文件锁定和版本控制,这使得它非常适合处理需要精细控制的文件。它还可以与许多不同的应用程序和操作系统集成,这使得它非常灵活。最后,WebDAV是一种开放标准,这意味着它可以在许多不同的平台上使用,并且不会受到供应商锁定的影响. WebDAV服务器和客户端仍