XMPP 的全称是什么?


什么是 XMPP?

XMPP 代表 **可扩展消息处理和出席协议**。此协议可用于语音通话、视频通话、多人聊天、即时消息传递等。最初,该协议是为 Jabber 开源服务开发的。当时,该协议用于即时消息传递。

XMPP 各字母解释

这里我们将了解每个字符的含义。

  • X 代表可扩展。XMPP 是一个开源项目,专业人员可以根据需要对其进行更改。

  • M 表示 XMPP 协议中的推送机制比其他协议要好得多。XMPP 的开发是为了能够实时地将消息从一端发送到另一端。

  • P 是用户的状态,无论他们是在线、离线还是忙碌。

  • P 表示 XMPP 是一种协议,系统可以使用它相互通信。

XMPP 协议的特性

XMPP 具有许多功能,如下所示 -

异步推送消息

XMPP 提供了异步推送消息的功能。无论接收方是否在线,消息都将传递给他们。XML 片段是共享消息的格式。这些片段包含发送方和接收方的 Jabber ID、元数据和消息正文。

客户端-服务器架构

XMPP 使用客户端-服务器架构来传递消息。XMPP 仅分发发送到服务器然后发送到客户端的一小部分 XML。XMPP 客户端被赋予不同的名称,用于将消息发送到特定客户端。

持久 TCP 连接

XMPP 只能借助 TCP 连接传输数据。建立连接后,发送新消息时无需重新建立连接。

托管是去中心化的

没有中央机构来控制服务器。由于这种灵活性,任何人都可以拥有、运行、管理和维护服务器。用户可以在云端或本地拥有服务器。

网关

XMPP 还有另一个很棒的功能,那就是为用于消息传递和聊天的不同协议提供不同的网关。XMPP 与不同的协议兼容。

XMPP 技术类型

XMPP 技术有很多类型,下面将详细讨论。

核心

XMPP 是一种在其核心用于通过网络流式传输 XML 的技术。这些核心技术包括以下内容 -

  • XML 流层

  • 通过 TLS(传输层安全性)进行通道加密

  • 用于强身份验证的简单身份验证和安全层

  • UTF-8 用于 Unicode 支持

Jingle

Jingle 是一种技术,Jabber 客户端可以使用它来管理和设置多媒体会话。这些会话支持不同类型的应用程序。应用程序类型包括语音聊天、视频聊天、文件传输等。Jingle 还使用不同的传输方法,如 TCP、RTP、UDP 等。

多用户聊天

MUC(多用户聊天)是 XMPP 的扩展,可用于在不同参与方之间交换消息。用户可以享受聊天室功能,包括邀请、房间主题等。用户还可以选择在需要时阻止其他用户。除了文本消息外,还可以共享 XML 有效负载。

PubSub

PubSub 是一种协议扩展,可用于发布-订阅功能。该协议能够启用 XMPP 在 pubsub 服务中创建不同类型的节点,并在每个节点上发布信息。所有已订阅节点的用户都会收到有关新发布的通知。

BOSH

BOSH 可以扩展为通过同步 HTTP 进行双向流。它是一种技术,其中在 HTTP(超文本传输协议)上进行双向通信。对于需要推送和拉取通知的应用程序,BOSH 是一个不错的选择。BOSH 带宽效率高,并且用于 Jabber 客户端和服务器之间。

XMPP 如何工作?

XMPP 基于客户端-服务器架构,因此消息首先发送到服务器,然后传输到客户端。XMPP 创建一个称为 Jabber ID 的唯一 ID,该 ID 提供要将消息发送到的客户端的详细信息。XMPP 服务器使用此 ID 通过 TCP 连接路由消息。与服务器共享 XML 服务器流,并借助 Jabber ID 识别客户端。服务器在识别客户端后将启动另一个 XML 流。服务器将向客户端发送流,并将 XML 流变为双向。

WebSocket 和 XMPP 之间的区别

这两个协议之间存在许多差异,其中一些在下面的表格中列出 -

方面 XMPP WebSocket
安全性 一种安全的协议 需要改进安全保障
操作 去中心化协议 集中化协议
与其他协议的兼容性 XMPP 与 API 不兼容 WebSocket 与不同的 API 兼容
二进制数据 数据传输相对较慢,因为 XMPP 使用细管道传输二进制数据 数据传输速度很快,因为 WebSocket 使用二进制数据
数据传输速度 数据传输速度相对较慢 数据传输速度相对较快

XMPP 的优势

开放

它是一个免费、开放和公共的协议,易于理解,可以在服务器、客户端、代码库和服务器组件上实现。

标准

互联网工程任务组已批准 XML 流协议作为消息传递和出席技术。XMPP 的规范也以 RFC 3920 和 RFC 3921 的形式于 2004 年发布。RFC 于 2011 年进行了修订,并导致了 RFC 6120、RFC 6121 和 RFC 7622 的开发。

久经考验

Jeremie Miller 于 1998 年开发了第一项 XMPP 技术,现在由于其稳定性,许多开发人员都在使用这项技术。大量 XMPP 服务器在互联网上运行,并且被数百万用户用于即时消息传递。

去中心化

允许用户拥有自己的 XMPP 服务器,这将有助于他们控制自己的通信。

安全性

XMPP 服务器可以轻松地进行保护,因为用户能够将其隔离。借助 SASL 和 TLS,可以将 XMPP 服务器与公共网络隔离。

可扩展

您可以使用 XML 通过核心协议开发自定义功能。您可以创建功能以维护互操作性。您可以在 XEP 系列中找到扩展。

灵活

XMPP 应用程序可用于不同的目的,例如内容联合、文件共享、协作监控等等。

多样化

许多组织正在使用 XMPP 开发和部署他们的项目。

结论

XMPP 是一种安全的协议,用于将消息从发送方传输到接收方。它被认为是一种安全的邮件协议,并且基于客户端-服务器架构。该协议具有许多功能,因此被许多专业人士使用。

常见问题

问 1 - XMPP 的全称是什么?

- XMPP 代表可扩展消息处理和出席协议。

问 2 - XMPP 安全吗?

- 是的!XMPP 是一种安全的协议。

问 3 - XMPP 是否使用 TCP 连接发送和接收消息?

- 是的!XMPP 使用 TCP 连接进行通信。

问 4 - 为什么 WebSocket 的速度比 XMPP 快?

- WebSocket 使用二进制数据,从而提高了数据传输速度。

问 5 - WebSocket 比 XMPP 更安全吗?

- 否!XMPP 更安全。

更新于:2024 年 1 月 19 日

125 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告