发布技术
- FrontPage
FrontPage
服务器扩展,服务器组件和web服务器集成在一起,在网站和客户端之间提供了必要的转接工作。
frontPage
和FPSE
(FrontPage
服务器扩展)发布协议:在http
的post
请求之上实现了一个RPC
(远程过程调用)层,把RPC
的方法和相关的变量嵌入在post
请求的主体中。
RPC
允许frontPage
向服务器发送命令来更新网站上的文档、进行搜索以及在多个web作者之间进行协作。
虚拟服务器同意服务器上运行的多个网站,每个都有自己的域名和ip地址。
根webweb服务器默认的顶层内容目录。
子web根web的已命名子目录或另一个完全由FPSE扩展的子web。
FPSE安全模型定义了3种用户:管理员(完全控制权)、作者、浏览者。根据用户权限区分可操作空间。缺点:容易因为误操作而引起安全问题。
- WebDAV(专注于对http进行扩展,以提供协作协作的适宜平台)
webDAV
使用方法来定义http方法的操作范围。
webDAV和XML
webDAV
方法通常需要在请求和响应种关联大量的信息。使用Http首部来交换信息,很难有选择的对请求种的多个资源应用信息,不利于表示层次结构。
使用xml解决以上问题。
- 使用xml对描述数据处理方式进行格式化
- 在服务器上对复杂的响应进行格式化方法
- 交换与所处理的集合和资源有关的定制信息方法
- 承载数据自身的灵活工具
- 对大多数国际化问题提供解决方案
webdav首部集
- DAV:用于了解服务器的webdav能力
- depth:用于把webdav扩展到支持含有多级层次关系的资源组
- destination:辅助copy或move方法标识目标uri
- if:定义首部条件,条件为非,请求失败。
- lock-token:指定要删除的锁
- overwrite:用于copy或move指定是否要覆盖目标
- timeout:指定要求锁的超时值
webdav的锁
- 对资源或集合的独占写锁(保证只有锁的拥有者有写权限)
使用摘要认证实现锁。
lock
和unlock
方法支持锁定机制。
1.lock
方法:允许单个Lock
请求锁定多个资源,锁定不需要客户端保持于服务器的连接。
2.解除资源上的锁
- 对资源或集合的共享写锁(允许多人在某个给定的文件上工作)
1.propfined
方法用于获取一个给定文件或一组文件的属性
2.proppatch方法对指定资源设置或删除多个属性提供原子化机制(保证要么所有请求都成功,要么跟所有请求都没发出一样)。
webdav防止覆写
集合与名字空间管理
集合是对预定义的层次结构中的资源进行的逻辑或物理上的分组。
集合就像目录一样,作为其他资源的容器使用。
对空间操作得方法:delete、copy、mkcol、move和propfind。
mkcol允许客户端在服务器上指定得url处创建集合。
- 集合已创建,请求会失败,状态码405 method no allowed
- 没有写权限,返回403 forbidden状态码
- 请求不存在,返回409 conflict状态码
delete方法
没有设depth首部,delete方法就会删除该目录中得所有文件和子目录,响应首部中content-location首部就是删除得集合。
有文件无法删除,服务器会返回207 multi-status状态码响应。
copy方法和move方法
都将请求url作为源,http得destination首部得内容作为目标。move方法在copy方法之外还要做一些工作,它把源url复制到目的地,检查新创建得uri得完整性,再把源删除。
操作集合时,没有depth首部,默认会把目录得整个结构进行复制或移动。如果depth设置为0,方法就只作用资源本身。
对属性进行复制和移动,默认会复制所有属性,但是请求也可以带有可选得xml主体来指定要使操作成功,必须成功复制所有属性。
增强的http1.1方法
get\head方法语义保持不变。post执行的操作总是由服务器实现来定义的,webdav没有对post的语义进行任何修改。
put方法:为了支持锁定在put请求中增加了if首部,if中说明的锁定令牌与资源上的锁相匹配,就应当执行put操作。
options方法:通常是启动webdav客户端发出的第一个请求。用options方法验证webdav能力。
网友评论