XMPP的優勢

1、推送數據

    Http客戶端只能從服務器那裏請求數據。除非服務器正在相應客戶端請求,否則它不能向客戶發送數據。但XMPP連接是雙向的。任何一方在任何時候都可以向另一方發送數據,只要連接處於打開狀態即可。

    這種推送數據的能力極大的拓展了Web應用程序和協議設計的可能性。應用程序不必爲獲取更新而進行效率低下的輪詢,而是能夠在新信息可用時立即獲得通知。這不僅減少了請求的總數量,而且讓新信息變的可用的時刻與客戶端獲悉該信息可用的時刻之間的延遲幾乎爲零。

2、取悅防火牆

    有些Web應用程序支持HTTP回調的使用,Web服務器請求另一個HTTP服務器以發送數據。如果不是因爲防火牆、NAT以及Internet的其他現實情況,這本身是一個推送數據的便利功能。但實際上,很難從外部世界建立通往客戶端的任何連接。

    XMPP連接是對防火牆和NAT友好的,這是因爲服務器到客戶端通信所用的連接是由客戶端發起的。一旦建立連接,服務器就可以將其所需的所有數據推送給該客戶端,就像在HTTP請求的響應中所做的那樣。

3、增強安全

    XMPP構建在TLS和SASL技術之上,它們爲XMPP連接提供了牢固的加密和安全功能。雖然HTTP使用SSL,但HTTP身份驗證機制並沒有被大量的被開發人員實現和使用。相反,web中充斥着大量實現自己的身份驗證方案的站點。

4、更大的工具箱

    HTTP僅限於簡單的請求-響應語義而且只支持少數幾項操作,即GET,PUT,POST,DELETE,等。XMPP包含三種不同的低級工具(<presence>、<message>、<iq>)以及將近300種擴展。

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章