問題:
http協(xié)議和MQTT協(xié)議哪個好用?(http和mqtt的區(qū)別)
回答:
HTTP、MQTT是基于TCP/IP的應(yīng)用協(xié)議。HTTP是應(yīng)用最為廣泛和流行的協(xié)議。但是MQTT在過去的幾年里迅速取得了進(jìn)展。在討論物聯(lián)網(wǎng)開發(fā)的時候,http協(xié)議和MQTT協(xié)議哪個好用?開發(fā)者必須在這兩者之間作出選擇。
HTTP與MQTT的區(qū)別
HTTP特點:
1.支持客戶端/服務(wù)器模式
2.簡單快速:由于HTTP協(xié)議簡單,使得HTTP服務(wù)程序規(guī)模小而且通信速度很快。
3.靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象。
4.無連接:限制每次連接只能處理一個請求,服務(wù)器處理完客戶端的請求并收到客戶端的應(yīng)答后即斷開連接,采用這種方式可以節(jié)省時間。HTTP1.1后默認(rèn)采用keepline長連接,服務(wù)器要等一段時間后才能斷開連接,以保證連接特性。但是你始終都要認(rèn)為HTTP請求在結(jié)束后連接就會關(guān)閉,這是HTTP的特性。與下層實現(xiàn)在結(jié)束后是否關(guān)閉連接都不會改變這個特性,長連接可以理解為下層實現(xiàn)對上層透明。
5.無狀態(tài):無狀態(tài)是指協(xié)議對事務(wù)處理沒有記憶能力,意味著如果后續(xù)處理需要前面的信息,則必須被重傳,這可能導(dǎo)致每次連接的數(shù)據(jù)量增大,另一方面不需要前面信息時,它的應(yīng)答就較快。
MQTT特點:
1.使用發(fā)布/訂閱消息模式,提供一對多的消息發(fā)布,解除應(yīng)用程序耦合。
2.二進(jìn)制形式編碼,小型化傳輸,協(xié)議開銷較小(固定長度的頭部是2字節(jié)),極大降低網(wǎng)絡(luò)開銷。
3.三種消息發(fā)布服務(wù)質(zhì)量:至多一次、至少一次、只有一次。
4.采用心跳機(jī)制,通過間斷性的發(fā)送報文,來維持客戶端和服務(wù)端的心跳長連接,以減少電量的消耗,提升系統(tǒng)資源利用率。
http協(xié)議和MQTT協(xié)議哪個好用?
MQTT以數(shù)據(jù)為中心,而HTTP是以文檔為中心的。
HTTP是用于客戶端 – 服務(wù)器計算的請求 – 響應(yīng)協(xié)議,并不總是針對移動設(shè)備進(jìn)行優(yōu)化。
MQTT是輕量級(MQTT將數(shù)據(jù)作為字節(jié)數(shù)組傳輸)和發(fā)布/訂閱模型,這使其非常適合資源受限的設(shè)備并有助于節(jié)省電池。
絕大多數(shù)的web開發(fā)都是構(gòu)建在HTTP之上的web應(yīng)用。在物聯(lián)網(wǎng)的世界里面,HTTP協(xié)議也有在用。有兩種形式,一種是設(shè)備自身硬件資源比較豐富支持直接從設(shè)備端通過HTTP上傳;另一種是設(shè)備不具備網(wǎng)口,需要通過網(wǎng)關(guān)上傳也是采用HTTP。
結(jié)論:
MQTT協(xié)議的響應(yīng)時間,吞吐量(MQTT比HTTP快93倍),更低的電池和帶寬使用率非常適合物聯(lián)網(wǎng)場景。在間歇性連接的情況下,它也是完美的。HTTP是優(yōu)秀且可擴(kuò)展的。但是物聯(lián)網(wǎng)場景下,MQTT更適合。
免責(zé)聲明:本網(wǎng)站部分文章、圖片等信息來源于網(wǎng)絡(luò),版權(quán)歸原作者平臺所有,僅用于學(xué)術(shù)分享,如不慎侵犯了你的權(quán)益,請聯(lián)系我們,我們將做刪除處理!