如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
本文的英文原文来自RFC3920网络工作组Saint-Andre,Ed.申请讨论:3921Jabber软件基金会类别:标准跟踪2004年10月可扩展的消息和出席信息协议(XMPP):即时消息和出席信息关于本文的说明本文为互联网社区定义了一个互联网标准跟踪协议,并且申请讨论协议和提出了改进的建议。请参照“互联网官方协议标准”的最新版本(STD1)获得这个协议的标准化进程和状态。本文可以不受限制的分发。版权声明本文版权属于互联网社区(C)TheInternetSociety(2004).摘要本文定义了可扩展消息和出席信息协议(XMPP)的核心功能的扩展和应用,XMPP提供了RFC2779定义的基本的即时消息和出席信息功能。________________________________________目录1.绪论2.通用的架构3.地址空间4.XML流5.TLS的使用6.SASL的使用7.资源绑定8.服务器回拨9.XML节10.服务器处理XML节的规则11.XMPP中的XML用法12.核心的兼容性要求13.国际化事项14.安全性事项15.IANA事项16.参考A.NodeprepB.ResourceprepC.XML规划D.核心Jabber协议和XMPP的不同贡献者致谢作者地址完整的版权声明________________________________________1.绪论________________________________________1.1.概览XMPP是一个开放式的XML协议,设计用于准实时消息和出席信息以及请求-响应服务。其基本的语法和语义最初主要是由Jabber开放源代码社区于1999年开发的。2002年,XMPP工作组被授权接手开发和改编Jabber协议以适应IETF的消息和出席信息技术。作为XMPP工作组的成果,本文定义了XMPP1.0的核心功能;RFC2779[IMP-REQS]在中指定的提供即时消息和出席信息功能的扩展,定义在XMPP-IM协议[theExtensibleMessagingandPresenceProtocol(XMPP):InstantMessagingandPresence]中。________________________________________1.2.术语本文中大写的关键字"MUST","MUSTNOT","REQUIRED","SHALL","SHALLNOT","SHOULD","SHOULDNOT","RECOMMENDED","MAY",和"OPTIONAL"的确切含义符合BCP14,RFC2119[TERMS].________________________________________2.通用的架构________________________________________2.1.概览尽管XMPP没有结合任何特定的网络结构,通常认为它是客户-服务器架构的一种实现,在这里客户端用XMPP的方式访问服务器采用的是TCP连接,服务器之间的通信也是TCP连接。以下是这一架构的抽象的示意图(这里"-"表示使用XMPP通讯,"="表示可使用任何协议通讯)。C1----S1---S2---C3|C2----+---G1===FN1===FC1符号代表的意思如下:oC1,C2,C3=XMPP客户端oS1,S2=XMPP服务器oG1=一个XMPP和外部(非XMPP)消息网络之间进行“翻译”的网关oFN1=一个外部消息网络oFC1=外部消息网络上的一个客户端________________________________________2.2.服务器服务器充当XMPP通信的一个智能抽象层,它主要负责:o管理发出的连接或其他实体的会话,在XML流(第四章)的表单中接收和发送给授权的客户端,服务器和其他实体。o用XML流通过实体转发特定地址的XML消息(第九章)大部分XMPP兼容的服务器也负责存储客户端使用的数据(比如基于XMPP应用的联系人名单);在这种情况下,XML数据直接由服务器代替客户端处理而不需要转发到其他实体。________________________________________2.3.客户端大部分客户端通过TCP连接直接连到服务器,并通过XMPP获得由服务器和任何相关的服务所提供的全部功能。多个不同资源(比如不同的设备和地点)的客户端可以同时登陆并且并发的连接到一个服务器,每个不同资源的客户端通过XMPP