另一种实现文件分发的简单方式是利用 HTTP 扩展协议 WebDAV。RFC2518 对 WebDAV 进行了详细的定义,它允许我们基于HTTP/1.1 协议来对 Web 服务器进行远程文件操作,包括文件和目录的创建、修改和修改等,另外,WebDAV 的设计目的还包括了对于版本控制的支持,还记得 Subversion 的 HTTP 工作方式吗?它便是使用 WebDAV 来实现的。
如今,主流的 Web 服务器软件几乎都支持 WebDAV 扩展,比如 Apache 和 Lighttpd 都有相应的 WebDAV 模块,安装并配置它们非常容易,同时,你可以使用 litmus 来测试它们对于 WebDAV 的支持程度,比如是否支持 COPY、MOVE 等指令,并且能否正常工作等。
WebDAV 完全基于 HTTP,它的定义方式与 RESTful 风格十分接近,或者说 RESTful 是对 WebDAV 风格的回归,无论如何,WebDAV 很容易使用,你几乎可以自己构造客户端 HTTP 请求,比如
MKCOL /files/2009/ HTTP/1.1 Host: www.server.org
这意味着我们请求 Web 服务器创建相应的目录,随后的 HTTP 响应如下所示:
HTTP/1.1 201 Created
这代表目录创建成功。当需要携带更多的描述信息时,WebDAV 使用 XML 格式来组织数据,所以,我们同样可以非常容易地操作它。
后面我们要介绍的分布式文件系统 MogileFS 便采用了 WebDAV 来实现文件分发,当然,WebDAV 只是一个文件分发的具体实现,对于分发的策略和管理,前面介绍的内容同样适用。
感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程