2010年11月29日 星期一

XMPP-即時通訊協定

Tags
歷史-
1998年米勒(Jeremie Miller)開始打造XMPP,用於提供給MSN、Yahoo!的IM服務,不久XMPP成功的在Jabber上實現。

Jabber是一個開放源碼形式組織產生的網路即時通信協議。XMPP原本是為Instant Messenger而量身定製,但由於XML
Stanza本身是XML元素,在基於XML靈活發展的特性下,使得XMPP也可以適用其他方面,已經得到了IETF的批准。XMPP與IMPP、PRIM、SIP(SIMPLE)合稱四大IM協議主流,在此4大協議中,XMPP是最靈活的。


特點-
分散式:XMPP的網路的架構類似電子郵件。XMPP核心協議通信方式是先建立一個stream,XMPP以TCP傳遞XML資料流。沒有中央主服務器。

開放標準:XMPP的技術規格被定義在RFC 3920及RFC 3921。任何IM供應商在遵循XMPP協議下,都可與Google Talk實現連接。

可擴展:XMPP基於XML,任何人都可以在XMPP核心協定的基礎上客制化。

安全:XMPP協議的服務器可能遠離公眾的Jabber網路(例如,在公司內部網) ,以及強大的安全(通過SASL和TLS的 )已建成的核心XMPP協議規範。


缺點-
資料負載太重:隨著通常超過70%的XMPP協議的服務器的資料流量的存在和近60%的被重複轉發,XMPP協議目前擁有一個大型架空中存在的資料提供給多個收件人。新的議定書正在研究,以減輕這一問題。

沒有二進制資料: XMPP協議的方式被編碼為一個單一的長期XML文件,因此無法提供修改二進制資料。因此,
文件傳輸協議一樣使用外部的HTTP。如果不可避免,XMPP協議還提供了帶編碼的文件傳輸的所有資料使用的Base64。至於其他二進制資料加密會話(encrypted
conversations)或圖形圖標(graphic icons)以嵌入式使用相同的方法。