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 次檢視

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.