XMPP(可擴展消息處理現場協議)是基于可擴展標記語言(XML)的協議,它用于即時消息(IM)以及在線現場探測。它在促進服務器之間的準即時操作。這個協議可能最終允許因特網用戶向因特網上的其他任何人發送即時消息,即使其操作系統和瀏覽器不同。
XMPP的前身是Jabber,一個開源形式組織產生的網絡即時通訊協議。XMPP目前被IETF國際標準組織完成了標準化工作。標準化的核心結果分為兩部分;
在IETF 中,把IM協議劃分為四種協議,即即時信息和出席協議(Instant Messaging and Presence Protocol, IMPP)、出席和即時信息協議(Presence and Instant Messaging Protocol, PRIM)、針對即時信息和出席擴展的會話發起協議(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions, SIMPLE),以及可擴展的消息出席協議(XMPP)。最初研發IMPP 也是為了創建一種標準化的協議,但是今天,IMPP 已經發展成為基本協議單元,定義所有即時通信協議應該支持的核心功能集。
XMPP 和SIMPLE 兩種協議是架構,有助于實現IMPP協議所描述的規范。PRIM 最初是基于即時通信的協議,與XMPP 和SIMPLE 類似,但是己經不再使用
1. XMPP 協議是公開的,由JSF開源社區組織開發的。XMPP 協議并不屬于任何的機構和個人,而是屬于整個社區,這一點從根本上保證了其開放性。
2. XMPP 協議具有良好的擴展性。在XMPP 中,即時消息和到場信息都是基于XML 的結構化信息,這些信息以XML 節(XML Stanza)的形式在通信實體間交換。XMPP 發揮了XML 結構化數據的通用傳輸層的作用,它將出席和上下文敏感信息嵌入到XML 結構化數據中,從而使數據以極高的效率傳送給最合適的資源。基于XML 建立起來的應用具有良好的語義完整性和擴展性。
3. 分布式的網絡架構。XMPP 協議都是基于Client/Server 架構,但是XMPP協議本身并沒有這樣的限制。網絡的架構和電子郵件十分相似,但沒有結合任何特定的網絡架構,適用范圍非常廣泛。
4. XMPP 具有很好的彈性。XMPP 除了可用在即時通信的應用程序,還能用在網絡管理、內容供稿、協同工具、檔案共享、游戲、遠端系統監控等。
5. 安全性。XMPP在Client-to-Server通信,和Server-to-Server通信中都使用TLS (Transport Layer Security)協議作為通信通道的加密方法,保證通信的安全。任何XMPP服務器可以獨立于公眾XMPP網絡(例如在企業內部網絡中),而使用SASL及TLS等技術更加增強了通信的安全性。如下圖所示:
XMPP
踩一腳
|