HTTP与MQTT:物联网比较

HTTP和MQTT是物联网领域中两种流行协议。尽管如此,HTTP和MQTT代表了同一个难题的两个方面,企业需要相应地利用它们。

什么是HTTP? 

超文本传输协议(HTTP)是万维网的基础协议。一个人的Web浏览器的内容通过HTTP请求。此请求转到云中的服务器,该服务器以请求的网页进行响应。

作为一种易于部署且直接的命令请求协议,HTTP在1990年代初问世后迅速普及。

什么是MQTT?

“需求是发明之母”这句话恰当地概括了消息队列遥测传输(MQTT)的历史。1999年,在IBM获得了一个大型石油和天然气项目后,它意识到需要一个轻量级的通信协议来 连接石油管道上的传感器和通信卫星。MQTT将重新定义每个级别上机器对机器通信的有效性。

主要区别是什么? 

地球仪上的交换图标由二进制代码组成,箭头指向相反的方向,表示HTTP的命令请求操作和MQTT的发布订阅操作。

HTTP通常是一个瞬态接口,其中每个请求都是一个短暂的会话。MQTT会话是长期存在的。

另一个重要区别是HTTP在命令响应基础上运行。命令被发送到服务器并返回响应。端点、浏览器或小型设备必须每次都向服务器发起该事务。

但是,MQTT使用一个称为发布订阅的概念。消息可以在任意一端发起。它还利用代理或消息的聚合器和分发器,允许客户机设备与数千个端,(而不仅仅是一个端点通信。

各自的缺点和优点

MQTT将消息传递到另一层。但是,它比HTTP更复杂,HTTP很简单,并且使用易于阅读的ASCII字符。MQTT也更难使用,因为它是双向的,可以同时支持ASCII和二进制有效负载。

由于HTTP事务本质上是自动的,因此必须为每条消息提供安全上下文,从而产生大量开销。另一方面,MQTT使用代理和持久连接的概念。安全标准只需要用于第一个连接,从而立即提高性能。

而且,在MQTT和HTTP的性能控制测试中,MQTT传输相同数据量的速度是HTTP的80到100倍。使用HTTP,企业必须逐条消息为其数据计划支付额外费用。MQTT在这方面要便宜得多。此外,边缘设备的固件更新和配置更改通过MQTT变得更加简单。 

物联网用例的HTTP与MQTT 

对于云平台,物联网设备通常会通过MQTT进行通信,因为它是双向的。尽管如此,云的另一端仍需要HTTPS来让用户提取数据以进行仪表盘显示和分析。本质上,数据可视化后端的大部分交互都是通过HTTP进行的。然而,MQTT在前端表现得更好,因为事务性命令和原始数据是在前端输入和输出的。

想象一下带有摄像机的智能连接门铃,当有人进入视野时,该设备将激活并通过HTTP发起连接。然而,该视频将建立一个MQTT流来移动该数据,而不是通过HTTP消息单独发送信息。

极客网企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。

2023-06-20
HTTP与MQTT:物联网比较
对于云平台,物联网设备通常会通过MQTT进行通信,因为它是双向的。尽管如此,云的另一端仍需要HTTPS来让用户提取数据以进行仪表盘显示和分析。本质上,数据可视化后端的大部分交互都是通过HTTP进行的。然而,MQTT在前端表现得更好,因为事务性命令和原始数据是在前端输入和输出的。

长按扫码 阅读全文