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速度快、开销小省流量、拥有更低的功耗和硬件及带宽要求,这些都是与物联网开发完美契合的要点。
工控主板或工控电脑的通电自启功能一般分为哪几种
AirPower最大挑战:工程复杂、不能过热
AMD Vega显卡3Dmark三大模式跑分曝光 相当于GTX1070的成绩
乐视已彻底退出酷派,新东家或为抄底地产资源
价格障碍?破解燃料电池汽车技术商业化难题
物联网应用中,为什么MQTT干掉了HTTP?
5款高颜值手机盘点:三星S8、荣耀9、三星S7Edge、努比亚Z17、魅族Pro6Plus你更青睐谁?
OPPO Reno3 Pro的价格开始大幅下降
IU8689+IU5706 单声道100W/立体声60W同步升压+功放IC大功率拉杆音箱应用组合方案
苹果汽车曝光:现代E-GMP平台打造、百公里加速小于3.5秒
联发科山寨苹果APP商店 明年初进驻国产手机
NDI广播可视化节目直播解决方案
ST官方基于米尔STM32MP135开发板培训课程(二)
闹剧里的动力电池续航焦虑 6道问题了解电动汽车动力电池方面的发展情况
游戏笔记本PC专用高帧速率显示组件出货量将在2019年增长
2018年中国芯片公司资本支出达到110亿美元,赶超欧盟、日本
5G通信网络即将到来,它到底有多快
江智机器人康养产品方案全路径将实现打通
通过MAX4460单电源仪表放大器进行电流检测的方法
一文带你真正了解物联网