RFC3920 1 可扩展的消息和出席信息协议 (XMPP): 核心协议 QQ:447805280 翻译整理 中国海洋大学海大新星 日期:2011 年 8 月 15 日起,2011 年 8 月 30 日止 RFC3920 2 目录 RFC3920 3 1. 说明 1.1 关于本文的说明 本文为互联网社区定义了一个互联网标准跟踪协议,并且能够根据讨论和建议来提高和完善。请参照“互联网官方协议标准”的最新版本(STD 1)来获得这个协议的标准化进程和状态。本文可以不受限制的分发。 1.2 版权声明 本文版权属于互联网社区 (C) The Internet Society (2004). 1.3 摘要 本文定义了可扩展消息和表示协议(XMPP)的核心功能,这个协议能够在任意两个网络终端间通过采用 XML 流来实现近乎实时交换的结构化信息。XMPP 协议为交换的XML 数据提供了一个通用的可扩展框架,它主要用来建立即时通信和表示应用以实现 RFC 2779 的需求。 2. 绪论 2.1. 概览 XMPP 是一个开放式的 XML 协议,主要用于准实时通信和表示及请求-响应服务。其基本的语法和语义最初主要是由 Jabber 开源代社区于 1999 年开发的。2002 年,XMPP 工作组被授权接手开发和改编 Jabber 协议以适应 IETF 的即时通信和表现技术。作为XMPP 工作组的成果,本文定义了 XMPP 1.0 的核心功能;在 RFC 2779 [IMP-REQS] 中指定的提供即时通信和表现功能的扩展,定义在 XMPP-IM 协议 [the Ex tensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence] 中。 2.2. 术语 本文中大写的关键字 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", 和 "OPTIONAL" 的含义在 BCP 14, RFC 2119 [TERMS]有确切的描述. 3. 通用的架构 RFC3920 4 3.1 概览 虽然XMPP 是不拘泥于任何特定的网络架构,但是迄今为止,它通常是通过“客户机-服务器“架构来实现的,在这里客户端用 XMPP 的方式访问服务器采用的是TCP 连接方式,服务器之间的通信也是TCP 连接方式实现的。 下图大体上描述了这一架构 (这里 "-" 表示使用 XMPP 通讯, "=" 表示可使用任何协议通讯): 各符号含义如下所示: C1, C2, C3 = XMPP 客户端 S1, S2 = XMPP 服务器 G1 = 一个 XMPP 和外部(非 XMPP)消息网络之间进行“翻译”的网关 FN1 = 一个外部消息网络...