MQTT 和 HTTP 协议之间有什么区别?


在了解它们之间的区别之前,让我们先了解一下超文本传输协议 (HTTP) 和 MQ 遥测传输 (MQTT) 协议的概念。

超文本传输协议 (HTTP)

超文本传输协议或 HTTP,必须是当今世界上最普遍使用的应用层协议。它构成了大多数人理解互联网——万维网的基础。

其目的是为从整个互联网上的网站检索超文本标记语言 (HTML) 和其他文档提供一种轻量级协议。每次您打开 Web 浏览器浏览互联网时,您都在使用 TCP/IP 上的 HTTP。

基本 HTTP 页面检索

  • 我们应该从一开始就了解程序如何从 Web 服务器检索基本页面。

  • 需要注意的主要要点是,网页通常由大量对象组成,从 HTML 基础到页面上可用的图像。

  • HTML 可以被认为是页面的整体格式,它告诉浏览器内容的布局、文本大小和颜色、页面的背景颜色以及构成页面的其他哪些图像应该被检索。

考虑以下顺序发生的流程:−

  • 客户端向 Web 服务器发送对所需页面的请求。

  • 服务器分析请求并向客户端发送确认,以及创建页面所需的 HTML 代码。

  • 客户端将开始解释 HTML 并构建页面。

  • 客户端将在后续请求中检索任何嵌入式项目,例如图像或其他音频/视频源。

MQ 遥测传输 (MQTT)

MQTT 系统由经常称为“代理”的服务器与客户端通信组成。客户端可以是数据的发布者或订阅者。每个客户端都可以连接到代理。

数据按主题的层次结构组织。当发布者有新数据要分发时,它会将包含数据的控制消息发送到连接的代理。

然后,代理将数据分发给已订阅该主题的任何客户端。发布者不需要任何关于订阅者数量或位置的信息,因此不需要使用任何关于发布者的信息进行配置。

如果代理收到没有当前订阅者的主题,它将丢弃该主题,除非发布者指示应保留该主题。这使新订阅者能够获取最新值,而不是等待发布者的下一个更新。

当发布客户端最初连接到代理时,它可以设置一条默认消息,如果代理检测到发布客户端意外断开与代理的连接,则将其发送给订阅者。

客户端仅与代理通信,但系统可能包含一些根据其当前订阅者的主题交换数据的代理服务器。

最小的 MQTT 控制消息可能只有两个字节的数据。如果需要,控制消息可以传递大约 256 MB 的数据。

有 14 种定义的消息类型用于连接和断开客户端与代理的连接、发布数据、确认数据接收以及管理客户端和服务器之间的通信。

MQTT 依赖于 TCP 协议进行数据传输。一个变体 MQTTSN 用于不同的传输方式,例如 UDP 或蓝牙。

更新于: 2022 年 3 月 17 日

457 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告

© . All rights reserved.