什么是 WebDAV?
WebDAV 是 Web 分布式创作和版本管理的缩写,它是 HTTP 协议的开放标准扩展,可以通过 Internet 进行文件管理。 除了常见的类似文件系统的操作(复制、移动、删除等)外,WebDAV 还添加了灵活的属性机制(基于名称/值对)和资源锁定。 WebDAV 是 Microsoft Web 发布故事中的关键组件,由 WebDAV 重定向程序、Web 文件夹、SMS/SCCM 和许多其他组件使用。
Microsoft 的一些新 Web 创作工具,如 Expression Web Designer,内置了对使用已启用 WebDAV 的网站的支持。 通过在 Windows Vista 和 Windows Server® 2008 中添加一流的 WebDAV 重定向程序,可以将驱动器号映射到配置为使用 WebDAV 模块的网站,因此,可以使用没有内置 WebDAV 支持的 Web 创作工具(如 FrontPage 2003 和 Visual Studio)打开该网站。
IIS WebDAV 模组的新增功能是什么?
Microsoft 发布了 IIS 的全新 WebDAV 实现,其从头开始编写,以与 WebDAV 协议更兼容,比 IIS 6.0 的 WebDAV 模块更可配置,并且比 Microsoft 先前版本的 WebDAV 更快。 此新的 WebDAV 扩展模块支持广泛的功能和改进,以下列表包含此版本中的几个改进。
此新的 WebDAV 扩展模块仅适用于 Windows Server 2008 和 Internet Information Services 7.0 或更高版本;它将无法在 Windows Server 2003 和 Internet Information Services 6.0 上运行。
与 IIS 的集成
集成管道
:IIS 6.0 WebDAV 实现是通过 ISAPI 实现的,但核心服务器需要了解 WebDAV ISAPI 才能正常工作。 新的 IIS 本机模块界面非常丰富,因此不需要考虑这些因素。
管理
:IIS 具有全新管理界面和配置存储,新 WebDAV 扩展模块与此新设计紧密集成。 旧的 IIS 6.0 元数据库已不存在,基于 .NET XML *.config 格式的新配置存储已取代它。 此外,IIS 有了全新管理工具,新 WebDAV 扩展模块无缝地插入该范例中。
WebDAV 配置
WebDAV 特定配置
:旧的 WebDAV“重载”了许多 IIS 配置设置。 例如,标准 IIS“目录浏览”设置还通过 WebDAV PROPFIND 谓词控制目录访问。 对于一些希望在不启用目录浏览的情况下启用 PROPFIND 访问的网站管理员来说,这是问题。 新 WebDAV 实现利用 IIS 可扩展配置架构和可扩展管理工具来分离这些设置,并对 WebDAV 行为提供更精细的控制。
每网站 WebDAV 设置
:IIS 7.0 及更高版本中的 WebDAV 可以在网站级别启用,而 IIS 6.0 则通过 Web 服务扩展在服务器级别启用 WebDAV。
每 URL 安全设置
:新的 WebDAV 扩展模块支持按 URL 创作规则,允许管理员根据每个 URL 指定自定义 WebDAV 安全设置。 这些创作规则与 IIS 每 URL 授权规则是分开的,因此允许一组用于正常 HTTP 请求的安全设置和一组用于 WebDAV 创作的单独安全设置。
支持共享和排他锁
:新的 WebDAV 扩展同时支持共享和排他锁,以防止由于覆盖而丢失更新。
WebDAV 入门
WebDAV 演练
为了帮助开始在 IIS 上使用 WebDAV,Microsoft 编写了以下演练:
在 IIS 7.0 上安装和配置 WebDAV
如何使用 AppCmd 管理 WebDAV
如何配置 WebDAV 和请求筛选
将 FPSE 网站迁移到 WebDAV
如何将 WebDAV 与自定义属性搭配使用
如何使用 WebDAV 锁
Microsoft 通过 Microsoft
https://support.microsoft.com/
网站上介绍的常规渠道为 WebDAV 提供客户辅助的技术支持。
此外,Microsoft 还通过以下公用论坛为 WebDAV 提供社区支持:
IIS7 - 发布
适用于 IIS 7.0 及更高版本的 WebDAV 中的更改和已知问题
其他安装说明可在 Microsoft
https://www.iis.net/
网站上的“
在 IIS 7.0 上安装和配置 WebDAV
”文档中找到。
此版本已知以下更改或问题:
可以在安装新的 WebDAV 扩展模块后卸载 IIS,这将导致 WebDAV 的扩展停止工作。 此外,如果在此之后重新安装 IIS,WebDAV 模块仍将失败,因为 IIS applicationHost.config 文件中缺少某些 WebDAV 配置设置。 最好的解决方案是在卸载 IIS 后卸载 WebDAV。
虽然许多基于 Web 的功能可以委托给远程管理器,并使用新的 IIS 配置基础结构添加到 web.config 文件中,但 WebDAV 扩展模块功能不能委托或存储在 web.config 文件中。
文件列表允许使用匿名 PROPFIND,但文件上传和基于 WebDAV 的 GET 请求需要经过身份验证的用户。 这是对 IIS 6.0 的更改,其中,可以通过打开安全性来启用匿名 WebDAV 文件上传/下载。 在适用于 IIS 7.0 及更高版本的 WebDAV 中,我们更改了此行为,以便所有 WebDAV 活动都需要身份验证,但为了与某些 WebDAV 客户端向后兼容,我们允许使用匿名 PROPFIND。 (更具体地说,基于 PUT、MKCOL、PROPPATCH、COPY、MOVE、DELETE 和 WebDAV 的 GET 请求都需要身份验证。)
新的 WebDAV 模块支持简单的属性存储,其使用单独的文件,允许在服务器之间轻松复制属性。 (在 IIS 6.0 中,属性存储在 NTFS 备用数据流中,因此很难在不同的文件系统之间复制属性。)
即将推出:在整个 2024 年,我们将逐步取消以“GitHub 问题”作为内容的反馈机制,并将其替换为新的反馈系统。 有关详细信息,请参阅:
https://aka.ms/ContentUserFeedback
。
提交和查看相关反馈