458 字
2 分钟
about WebDAV

WebDAV(Web Distributed Authoring and Versioning)是 HTTP 协议的扩展,允许用户通过网络对服务器上的文件进行读写、编辑、移动、复制、删除等操作,本质上就是把远程服务器当成本地硬盘用。

核心特点#

基于 HTTP/HTTPS,无需额外协议,防火墙友好,兼容性好。

扩展了标准 HTTP 方法,增加了:

  • PROPFIND — 查询文件/目录属性
  • PROPPATCH — 修改属性
  • MKCOL — 创建目录
  • COPY / MOVE — 复制/移动
  • LOCK / UNLOCK — 文件锁定(防止多人同时编辑冲突)

支持属性(Properties),文件可以附加自定义元数据,不只是文件名和大小。

典型应用场景#

  • 网盘服务:Nextcloud、ownCloud、坚果云等都支持 WebDAV 接口
  • 远程挂载:Windows/macOS/Linux 可以直接将 WebDAV 地址挂载为本地磁盘
  • IDE/编辑器集成:直接读写远程文件
  • 备份同步:很多备份工具支持 WebDAV 作为目标存储

与其他协议对比#

协议传输层跨平台防火墙特点
WebDAVHTTP/S✅ 极好✅ 友好通用,功能完整
SMB/CIFSTCP一般❌ 需开端口Windows 局域网首选
NFSTCPLinux为主❌ 需开端口Unix/Linux 高性能
FTPTCP✅ 好一般老协议,无锁定机制
SFTPSSH✅ 好✅ 友好安全,但非文件系统语义

快速使用示例#

挂载 WebDAV(Linux):

bash

Terminal window
sudo mount -t davfs https://example.com/dav /mnt/webdav

Python 访问 WebDAV:

python

from webdav4.client import Client
client = Client("https://example.com/dav", auth=("user", "pass"))
client.ls("/") # 列出文件
client.download_file("/a.txt", "local.txt") # 下载
client.upload_file("local.txt", "/b.txt") # 上传

局限性#

  • 性能:基于 HTTP,比 SMB/NFS 在局域网内慢
  • 大文件:断点续传支持取决于服务端实现
  • 实时协作:锁机制较弱,不如现代协作平台(如 Google Docs)

总体来说,WebDAV 胜在跨平台、穿透防火墙、部署简单,是互联网环境下远程文件管理的实用选择。

about WebDAV
http://cypherx.top/posts/cs/webdav/
作者
Cypherx
发布于
2026-10-09
许可协议
CC BY-NC-SA 4.0