引言
如名字所示,XCAP 是一种配置访问协议。它使用 XML 文档格式来存储应用程序的配置数据,允许客户端读取、写入及修改配置数据。
XCAP映射 XML 文档的子树和元素属性到 HTTP URL ,所以这些组件可以通过 HTTP 直接获取。 XCAP 是一种映射 XML 文档和文档属性到 HTTP URL 的一种惯例,一个资源的修改如何影响其他资源的规则,数据验证的约束,访问资源时相关的授权策略。因为这种结构,普通 HTTP 能够用来操作数据。 XCAP 很大长度上借鉴了 Application Configuration Access Protocol ( ACAP ),但它不是 ACAP 的扩展,也不依赖 ACAP 。像 ACAP 一样, XCAP 支持多种应用程序配置的需要,而不只是一种。
应用程序
在很多通信应用程序中,如 VoIP, IM 和 presence ,需要网络服务器去获取 个性化 用户信息给服务请求的进程。这些 个性化 用户信息存在于网络中,但由终端用户自己管理。这些管理可通过各种获取终端完成,包括web ,无线手机,或 pc 应用程序。个性化用户信息的例子包括 presence ,授权策略和 presence lists 。 Presence lists 一个观察者需要的一些用户的 presence 。一种获取列表的 presence 信息的方法是订阅代表 presence list 的资源。在这种情况下,资源列表服务器( Resource List Server , RLS )需要获取这个列表来处理自身的 SIP 订阅请求。另一种获取用户 presence list 的方法是单独订阅每个用户。在这种情况下,可以使用一个服务器来方便地存储 list ,当客户端启动时,它从服务器获取 list 。这允许用户从不同的终端获取他们的资源列表。
更详细的解释:
SIMPLE规定允许一个用户( watcher )订阅另一个用户( presentity )来知道他的 presence 信息。
当希望订阅一个presence list 时,标准的做法是要求 watcher 创建和维护订阅到每个 presentity 的列表。对于大的列表,需要的带宽会更大,特别是在无线网络环境下。一个 SIP 事件框架的扩展是,允许 watcher 使用单一的订阅来订阅资源列表。这样的订阅需要一个叫做 Resource List Server 的服务器,这个服务器持有用户希望订阅的资源列表的 presence list 的拷贝。通过使用 XCAP ,一个终端能够展示并按需操作服务器上 presence list 。
操作概述
每个利用 XCAP的 应用程序可以指定应用程序的用法。这种应用程序的用法定义了被应用程序使用的数据的 XML模式,和其他关键信息片段。 XCAP 的首要任务就是允许客户端读、写、修改、创建和删除数据片段。这些操作支持使用 HTTP 1.1 。
一个 XCAP服务器扮演了一组 XML 文档的仓库。每个应用程序都有一组文档,每个应用程序的每个用户也都有一组文档。为了访问这些文档中的一个文档的某一组件, XCAP 定义了一个算法来构建能够指向那个组件的 URL 。组件指示了文档里的所有元素或属性。因此, XCAP 使用的 HTTP URL 指向文档或 XML 文档本身的一块信息。一个遵守此处定义的命名惯例和验证约束的 HTTP 资源就叫做 XCAP 资源。
因为 XCAP资源也是 HTTP 资源,它们可以使用 HTTP 方法获取。使用 HTTP GET 获取 XCAP 资源,用 HTTP PUT 创建或修改, HTTP DELETE 删除资源。与 HTTP 关联的资源的属性,如实体标签,也被应用到 XCAP 资源。实体标签在 XCAP 里非常有用,因为它们允许执行一组条件操作。
一个 XCAP资源不过是 XML 文档, XML 文档里的元素,关联到元素的属性。每个 HTTP GET 、 PUT 、 DELETE 方法能够执行到属于一个用户的特定应用的资源。
映射 XCAP资源到 HTTP URI 可下面方式完成:
<? xml version = "1.0" encoding = "ISO-8859-1" ?>
< xcap-caps >
< users >
< user1 > hgs@cs.columbia.edu </ user1 >
< user2 > mss2103@cs.columbia.edu </ user2 >
</ users >
</ xcap-caps >
获取<user1> 的 HTTP URI 看起来是这样的:
Part1 |
Part2 |
Part3 |
HTTP Method) |
XCAP Root/Application(k)/user(m)/document(i)/~~/xcap-caps/users/user1 |
HTTP(v) |
GET/PUT/DELETE |
XML里描述资源的真实路径 |
HTTP 1.0/1.1 |
Part2详解:
服务器检索被访问的应用程序,按照 XCAP Root/Application(k) 。如前面提到的,每个应用程序和每个应用程序的用户有它们自己的目录。所以整个系统是以层次化的结构存储的,以 XCAP ROOT作为顶层,应用程序作为这个根的直接子节点,用户构成应用程序的子节点,每个用户目录下有一组 XML 文件。每个 XML 文件里面,所有元素有一个根节点,每个元素可以有一些属性。
上面的路径尝试在 XCAP服务器上 获取应用程序 k下的用户 m 的 i 文档。目前为止的这个路径( Application(k)/user(m)/document(i) )叫做文档选择器。“ ~~ ”叫路径分隔符,它分隔了文档选择器和节点选择器。路径之后的就是节点选择器,所以上面请求的节点选择器是“ xcap-caps/users/user1 ”,这告诉服务器,从文档i 的根节点 <xcap-caps> 开始,在 <xcap-caps> 里找到 <users> ,在 <users> 里找到 <user1> 。当目标被定位到时,可执行指定的方法( GET, PUT, DELETE )。
如果节点选择器为空,则HTTP 的方法将被应用到选定的文档上。
个人总结:
1、 XCAP是一种能够映射 HTTP URL 到服务器上的 XML 内部结构的协议,这些 XML 文档保存每个应用程序里的每个用户的个性化信息。
2、 一个符合XCAP 的 URL 由三部分组成,第一部分叫文档选择器,与普通 HTTP URL 类似,用于定位 XML 文档,路径结构是: Application/User/Document ;第二部分是路径分隔符: ~~ ;第三部分叫节点选择器,使用XPath 表达式来定位 XML 的元素、属性等。
3、 XCAP 服务器可以用 HTTP 协议直接访问,对于定位到的 XML 元素、属性等,可用 HTTP GET 方法查询值, HTTP PUT 创建或修改,用 HTTP DELETE 删除。
欢迎关注我的微信公众号: coderbee笔记。
相关推荐
**XCAP 操作指南** XCAP(eXtensible Configuration and Provisioning Protocol)是一种网络配置和数据管理协议,常用于IMS(IP Multimedia Subsystem)系统中。它允许客户端通过HTTP或HTTPS与服务器交互,实现对...
**xcap:网络发包工具详解** 在信息技术领域,网络通信是核心部分之一,而调试和测试网络协议、分析数据包则对开发和维护至关重要。本文将深入探讨一款名为"xcap"的网络发包工具,它是一款强大的网络数据包捕获和...
以太网发包工具(xcap)正式版 以太网发包工具(xcap)正式版是款能够从系统中读取所有网络接口的工具。xcap发包工具可以从指定的接口发送构造的报文,支持两种简单的发送策略,一是发送选中的(用鼠标选中),二是循环...
【xcap构造包+发包工具】是一种专用于网络测试和调试的专业软件工具,它能够帮助用户构造并发送各种网络数据包,适用于多种网络接口和协议。这个工具的核心功能包括但不限于以下几个方面: 1. **包构造**:xcap提供...
《xcap:构建与发送网络报文的利器》 在信息技术领域,网络报文的构造与发送是一项重要的技能,尤其对于网络调试、安全分析以及协议测试等任务来说更是不可或缺。"xcap"就是这样一款专为PC用户设计的工具,它允许...
《Windows发包工具XCAP_1_3_1详解及应用》 在信息技术领域,网络报文分析和构造是至关重要的环节,对于故障排查、安全检测以及协议开发有着不可或缺的作用。Windows平台上,有一款名为"XCAP_1_3_1"的发包工具,它为...
**XCap最新完整版详解** XCap是一款强大的网络封包分析工具,专为网络调试、安全检测和数据包捕获而设计。它以其高度自定义的数据包构建能力以及内置的抓包功能,深受IT专业人士的喜爱。本文将详细介绍XCap的核心...
**xcap抓包软件详解** 在信息技术领域,网络抓包工具是进行网络分析、故障排查、安全检测等工作的必备利器。Xcap,作为一款经典的抓包软件,因其强大的功能和易用性,深受广大IT从业者喜爱。本篇将详细介绍Xcap的...
**XCAP(eXtensible CAPability)技术详解** XCAP,全称为可扩展能力协议,是一种基于HTTP的协议,用于在Web服务中管理和访问XML文档。它为网络应用程序提供了安全、灵活的数据交互机制,特别是在IMS(IP ...
《xcap_v1.1.0版本:深入解析以太网发包工具》 在现代计算机网络技术中,以太网扮演着至关重要的角色。它作为局域网(LAN)的标准,承载着大量的数据传输任务。为了更好地理解和利用以太网的特性,专业的网络测试与...
《Xcap 1.0.3:网络数据包的捕获与发送利器》 Xcap 1.0.3是一款强大的网络数据包抓包和发包工具,它为IT专业人士提供了一个灵活且高效的平台,用于网络诊断、性能测试以及安全分析。这款软件的独特之处在于其对Tcl...
### XCAP协议在IMS系统中的应用 #### 一、引言 随着移动通信技术的不断发展,IP多媒体子系统(IMS)作为第三代移动通信伙伴组织3GPP在Release 5版本中提出的一种支持IP多媒体业务的子系统,已经成为构建提供IP...
【标题】"xcap131.zip"是一个压缩文件,很可能包含了有关XCAP(XML Capabilities for Presence)协议的版本1.3.1的相关资料。XCAP是一种基于XML的协议,用于管理和操作网络中的用户数据,特别是与在线状态(Presence...
《Xcap:全能的网络封包操作神器》 在信息技术高速发展的今天,网络通信的调试与分析变得至关重要。Xcap工具以其强大的发包、抓包和修改包功能,成为网络技术人员不可或缺的利器。这款工具简单易用,无需复杂的安装...
**XCAP协议与RFC4825规范详解** XCAP(XML Configuration Access Protocol)是一种基于HTTP的应用层协议,主要用于在互联网环境中对用户配置数据进行访问和管理。RFC4825是IETF(互联网工程任务组)发布的XCAP的...
《Xcap_1_0_12:一款强大的以太网报文生成工具》 Xcap_1_0_12是一款专为IT专业人士设计的数据包生成器,它主要用于构造和生成各种以太网报文。这个工具在进行网络调试、性能测试、安全分析以及教学演示时具有很高的...
《Xcap_1_0_13:一款强大的以太网报文生成工具》 Xcap_1_0_13是一款专为网络技术人员设计的数据包生成器,它主要用于构造和发送各种以太网报文,是网络调试、测试和故障排查的重要工具。在深入探讨Xcap的功能和应用...
3, xcap通过pcap导入报文会有部分字段自动变化, 且导入的报文DHCP数据部分无法正常解析, 建议通过新建的方式解决; 4, 添加报文格式举例: 1,2 说明: 1表示报文组1, 选中报文组后, 在状态栏会显示报文组的索引, 2表示...
《Xcap 1.0.3与WinPcap:网络数据包发送与捕获的实用工具》 在IT行业中,网络通信分析是一项重要的任务,它涉及到数据包的发送与捕获,这对于网络故障排查、安全审计以及性能优化具有至关重要的作用。Xcap 1.0.3与...