MQTT和HTTP区别

概述

        今天突然想起来当时面试的时候被问了mqtt和http,自我感觉mqtt答的还行,http则是答的一团糟,所以打算整理一下,用来记录。

        它们都是属于应用层的协议,且都是基于tcp/ip协议栈。

一.mqtt

        MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种轻量级的消息传输协议,特别适用于物联网(IoT)和移动应用等场景。做物联网相关项目mqtt使用的最多。

        1.基于发布/订阅模式:MQTT采用客户端-服务器架构,支持一个或多个客户端向服务器发布消息,其他订阅了相关主题的客户端可以接收到这些消息。

        2.轻量且简单:MQTT设计简洁,易于实现,使其在资源受限的设备上运行时占用的带宽小,对网络的要求低。

        3.保持长连接:MQTT客户端可以与服务器建立长期连接,并通过心跳机制来维持会话状态,适合需要实时控制的场合。

        4.适用范围广:由于其轻量级和低开销的特性,MQTT非常适合在网络带宽有限或设备存储空间有限的场合使用

        我觉得mqtt最显著的优点就是轻量化和长连接,当时在学校的实验室第一次接触mqtt对其概念一直不是很清晰,与实验室同学讨论,他给我讲了一个很生动的例子mqtt协议就像up主和粉丝,分别是服务器和客户端,中间通过发布的网站(主题)连接,可以有很多粉丝(客户端)关注up主(服务器),同时up主发布视频粉丝也都能看到,且粉丝也可以向up主发送消息。

二.http

        HTTP (Hyper Text Transfer Protocol,超文本传输协议)的缩写,是用于从万维网服务器传输超文本到本地浏览器的传送协议。

        1.HTTP基于请求-响应模式:这种模式下,客户端主动向服务器发送请求,服务器接收到请求后处理并返回响应。这个过程是同步的,意味着客户端需要等待服务器的响应。

        2.普及且灵活:HTTP协议经过多年的发展,已非常成熟和稳定,有大量详尽的文档和资料可以参考,也有广泛的应用实践和社区支持。HTTP适用于无状态的、单向的数据传输,可以适应多变的网络环境和应用场景。

        对于嵌入式http在应用方面我也只接触到了百度ai的api接口是http,之前也也用过云平台通过http传输图片,但是对其协议没有深入了解,只觉得相对于mqtt的订阅http在编程方面更加简单。

三.区别

        1.与MQTT的发布/订阅模式相比,HTTP的这种模式适用于客户端需要从服务器获取数据的场景,而不太适合于需要实时、双向通信的物联网应用。在物联网应用中,设备可能需要不断地发送数据到服务器,而不需要等待响应,

        2.对于需要快速、轻量级且面向消息传递的应用,MQTT是一个更好的选择;而对于灵活性和广泛兼容性更为重要的场景,HTTP则可能更加合适。

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值