menu
search
 

http协议和MQTT协议哪个好用?(http和mqtt的区别)

 
关键词:http,mqtt 
 
问题:http协议和MQTT协议哪个好用?(http和mqtt的区别)
回答
HTTP、MQTT是基于TCP/IP的应用协议。HTTP是应用最为广泛和流行的协议。但是MQTT在过去的几年里迅速取得了进展。在讨论物联网开发的时候,http协议和MQTT协议哪个好用?开发者必须在这两者之间作出选择。
 
HTTP与MQTT的区别
 
HTTP特点:
 
1.支持客户端/服务器模式
 
2.简单快速:由于HTTP协议简单,使得HTTP服务程序规模小而且通信速度很快。
 
3.灵活:HTTP允许传输任意类型的数据对象。
 
4.无连接:限制每次连接只能处理一个请求,服务器处理完客户端的请求并收到客户端的应答后即断开连接,采用这种方式可以节省时间。HTTP1.1后默认采用keepline长连接,服务器要等一段时间后才能断开连接,以保证连接特性。但是你始终都要认为HTTP请求在结束后连接就会关闭,这是HTTP的特性。与下层实现在结束后是否关闭连接都不会改变这个特性,长连接可以理解为下层实现对上层透明。
 
5.无状态:无状态是指协议对事务处理没有记忆能力,意味着如果后续处理需要前面的信息,则必须被重传,这可能导致每次连接的数据量增大,另一方面不需要前面信息时,它的应答就较快。
 
MQTT特点:
 
1.使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。
 
2.二进制形式编码,小型化传输,协议开销较小(固定长度的头部是2字节),极大降低网络开销。
 
3.三种消息发布服务质量:至多一次、至少一次、只有一次。
 
4.采用心跳机制,通过间断性的发送报文,来维持客户端和服务端的心跳长连接,以减少电量的消耗,提升系统资源利用率。
 
http协议和MQTT协议哪个好用?
 
MQTT以数据为中心,而HTTP是以文档为中心的。
 
HTTP是用于客户端 – 服务器计算的请求 – 响应协议,并不总是针对移动设备进行优化。
 
MQTT是轻量级(MQTT将数据作为字节数组传输)和发布/订阅模型,这使其非常适合资源受限的设备并有助于节省电池。
 
绝大多数的web开发都是构建在HTTP之上的web应用。在物联网的世界里面,HTTP协议也有在用。有两种形式,一种是设备自身硬件资源比较丰富支持直接从设备端通过HTTP上传;另一种是设备不具备网口,需要通过网关上传也是采用HTTP。
 
结论:
 
MQTT协议的响应时间,吞吐量(MQTT比HTTP快93倍),更低的电池和带宽使用率非常适合物联网场景。在间歇性连接的情况下,它也是完美的。HTTP是优秀且可扩展的。但是物联网场景下,MQTT更适合。


 

免责声明:本网站部分文章、图片等信息来源于网络,版权归原作者平台所有,仅用于学术分享,如不慎侵犯了你的权益,请联系我们,我们将做删除处理!

产品系列

Product Series