WebDAV : Web Distributed Authoring and Versioning 基于 Web 分布式内容创作与版本管理,关于此标准的详细信息是在 RFC 2518 中定义的。WebDAV 有很多好处,它允许成员在 Internet 上发布、共享文档,协同工作,它可以使用 SSL ,提供了高安全性,可以利用 Web Server 提供的各种验证方式(如 Basic、Digist Signature等),更重要的是,它使用传统的 HTTP 1.1 协议,可以容易地穿透大多数防火墙,从而易实现在各种网络环境下的文档共享。
WebDAV 扩展了HTTP/1.1通信协议,增加动词:PROPFIND, PROPPATCH, MOVE, DELETE, MKCOL, SEARCH等,它的内容全部采用XML格式,可以用XSLT进行格式化
特别适合Web应用程序的开发,如可以用它来访问 Hotmail ,访问 Exchange Server 的邮箱等。
WebDAV 的两个有用链接:
- http://www.webdav.org: WebDAV Resources
- http://www.ics.uci.edu/~ejw/authoring/: IETF WebDAV Working Group
IIS 5.0 以上,Apache 的 mod_dav 都已提供了对 WebDAV 的支持。
这几天通过对 WebDAV 的研究,发现了很多有意思的东西:
1. 可以通过 Windows 2000/XP/2003 的 Network Place ,连接到 WebDAV 目录(也就是 Web Folder),通过系统内部的 WebDAV Redirector 来完成和资源浏览器类似的文件管理,在有的 Blog 上看到,有人竟然利用“Net Use * http://server/virtualdir” 来映射 WebDAV 目录,这让我很惊奇,我觉得在现有的 Windows XP/2003 上,好象还没有提供这样的功能。
在访问 Network Place 的时候,可以利用 HTTP Look 监测到,全是对 WebDAV 目录进行重定向的透明访问。
2. Office 2000/XP 可以直接编辑 WebDAV 目录中的文档,而且在编辑的时候对文档进行了锁定,从而避免了多个编辑同一文档时产生冲突。
微软已经在它的许多产品中使用了 WebDAV 技术,如:
- Internet Explorer 5.0 以上
- Office 2000/XP/2003
- SharePoint Team Service
- SharePoint Portal Server 2001
- Windows Sharepoint Service (WSS)
- Office SharePoint Portal Server 2003
- Mobile Information Server 2001
- Exchange 2000/2003 (OWA & OMA)
- Biztalk 2000/2002/2004
- Internet Information Server 5.0 以上等
其它也有许多厂商对 WebDAV 提供了很好的支持,如 IBM (DAV4J)、Macromedia 、Oracle 等
3. WebDAV 只能进行简单的版本管理,即 Lock/Unlock ,没有版本历史记录,将来的 DeltaV 标准会完善这方面的东西。
4. 有一个很好的工具,WebDrive可以将 WebDAV 目录映射为本地驱动器,这样可以更方便地使用户对 WebDAV 目录进行操作,例如编辑非 Office 类的文档。但带来的负面效应就是不象 Web Folder 那样能在编辑的时候自动锁定文档了,多人操作同一文档的时候会产生冲突。WebDrive 还可以将 FTP 和 FrontPage Server Extension 的服务器映射为本地驱动器,这个功能还是很有用的。
5. 即然 WebDAV? 的版本管理特性很弱,而 SourceSafe 又是大家最常用的源码管理工具,那将 SourceSafe 的数据库放在 WebDAV 目录上,让大家通过 Internet 来协同编码,是不是一个很 Cool 的想法?!
SourceSafe 只能打开本地驱动器或网络上映射的其它驱动器中的数据库,那如何让他打开 WebDAV 中的数据库呢? WebFolder 是不行的,那只有用 WebDrive 了
经过测试,SourceSafe 和 WebDrive 确实能集成起来,进行源代码的版本管理(Check In/Check Out/Show History etc.) ,但由于 SourceSafe 是一个 Event Base 的软件,它要同数据存储层(文件系统)实时交互以便工作,而 WebDrive 是使用 HTTP 1.1 这样的无状态协议同服务器同步的,另外,从文件系统的层次来看, SourceSafe 的数据库是许多目录和小文件构成的(我的一个 90 M 的数据库,有 3500 个文件),想象一下,用 HTTP 一个一个地把这些小文件 GET 下来,就花不少时间,所以 WebDrive + SourceSafe 效率较低,而且在多人操作同一个文件时,偶尔会产生一些小错误,如果把 WebDrive 的 Cache 设置为0 ,情况稍微好一些。
无论如何,SourceSafe + WebDrive 毕竟能通过 Internet/VPN 实现了基于 Web 的源代码管理,还是很不错的,对于一些参与人数较少(并发用户较少)的,需要在 Internet 上协同工作的小型项目来说,还是一个不错的选择。
6. 说到 SourceSafe ,感觉 Microsoft 好长时间没有对此产品升级了,在 Blog 上有人反映,说 SourceSafe 还是使用那么土的文件数据库,那么土的协议,那么土的图标等 ,据微软的 SourceSafe 开发组的人员透露,SourceSafe 的功能将在下一版的 Visual Studio.NET (开发代号:Whi )中得到较大的增强,但是人们期望的对 Internet/Web 的支持,好象并没有提多少。有个反馈者给微软提了一个非常好的建议:使用 SQL Server 来储数据,这样就变成了 Server-Base 的 SCM 工具了,使用 Web Service 接口操作,用 WS-Security 来保证安全性,听起来很诱人呀
,详细情况可以参考 Korby Parnell’s BLog
7.即然现在 SourceSafe 功能不够强,也有第三方厂商提供了其它解决方案,例如:http://www.sourcegear.com/提供的sourceoffsite classic,功能好象还挺强。
整篇文章写的挺乱,有时间分两个题目:WebDAV 和基于 Internet 的分布式开发方法来好好组织一下思路。
我的需求比较苛刻, 期待sourcesafe下一版扬长避短,结合各种工具的优点。对于有争议或者不好确定的功能,应该作为可选项
两者都能在Internet上跑,而且都有简单易用的Windoze客户端和web界面
请问各位老大我在Visual Studio .NET 2003 中含有VSS不
请问我在哪可以下到VSS6.0
在SPS环境中,能否将某些客户端禁止创建Web Folder.
在基于LIST权限模型中,能否增加诸如“只能看到本人的条目”权限。
干嘛要用sourcesafe呢。基于apache webdav技术的subversion或者是cvs任何一个都比它好
我想用webdav搞一个公共的网络共享系统,有密码和权限限制的,没有很好的现成解决方法.看来只能自己搞.
使用WebDav (Microsoft Web Folder)时, 当拖放文件到Web Folder时, 如果文件名是中文名, 文件名会变成乱码, 请问各位有何解决方案, 先谢了!
我最近选了这个题目。写论文。希望大家多给我点意见。谢谢。我的QQ号是103712432,谢谢!
或者给我发邮件给我[email protected]