HTTP作為當下使用最為廣泛的協議之一,但隨著物聯網行業的發展,MQTT在過去的幾年也受到了大量物聯網開發人員的青睞。下面我們就分別對HTTP及MQTT進行比較分析,揭秘誰才是物聯網開發的上上之選。
MQTT & HTTP 是什么?
首先我們先簡單的了解一下MQTT、HTTP協議是什么?
MQTT(消息隊列遙測傳輸)是ISO標準(ISO/IEC PRF 20922)下基于發布/訂閱范式的消息協議。該協議建立在TCP/IP協議之上,在1999年由IBM公司發布,目前已經更新到V5.0版本。
發布/訂閱型消息協議模型為用戶提供彼此相互獨立的設備,也因此增加了整個系統的穩定性。當其中有一個客戶端出現故障時,整個系統依然可以正常工作。如圖1-1所示:
圖1-1
超文本傳輸協議(Hyper Text Transfer Protocol,HTTP)是一個簡單的請求-響應協議,該協議一般在TCP上運行。該協議指定了客戶端可能發送給服務器什么樣的消息以及得到什么樣的響應。請求和響應消息的頭以ASCII形式給出;而消息內容則具有一個類似MIME的格式。
MQTT & HTTP 特性分析
01應用場景分析
MQTT相對于HTTP而言,MQTT協議是為那些計算機性能低下受限,且工作在低帶寬,網絡不可靠的遠程傳感器和控制設備通訊而設計的協議。而HTTP是適用于那些性能好一些的終端上,對設備的要求相對較高,所以并不適合M2M的場景。
02傳輸和速度分析
MQTT擁有更快的數據吞吐量,同時MQTT協議還確保了傳輸質量。分別有三個級別的服務質量提供:
一是:最多一次,保證盡力交付;
二是:至少一次,保證消息至少傳輸一次,但消息也可以多次傳輸;
三是:恰好一次,保證每一個消息只被對方接收一次。
MQTT協議簡潔、小巧、省電,開銷很小(固定長度的頭部是 2 字節),協議交換最小化,降低了網絡流量,這些都是HTTP所不具備的。
MQTT & HTTP 功能
下面我們用一張表來總結MQTT協議與HTTP協議的功能。如表1-1所示:
功能 | HTTP協議 | MQTT協議 |
低協議開銷 | 否 | 是 |
不穩定網絡兼容性 | 否 | 是 |
低功耗功能 | 否 | 是 |
大連接 | 否 | 是 |
推送通知 | 是 | 是 |
客戶平臺差異 | 是 | 是 |
防火墻容錯 | 是 | 是 |
保密性 | 是 | 是 |
表1-1
綜上所述,在物聯網開發中,MQTT協議更加適合。主要原因是:MQTT速度快、開銷小省流量、擁有更低的功耗和硬件及帶寬要求,這些都是與物聯網開發完美契合的要點。
-
物聯網
+關注
關注
2909文章
44635瀏覽量
373368
發布評論請先 登錄
相關推薦
評論