MQTT 和 HTTP 协议的区别
1. 消息队列遥测传输(MQTT)
它是由 Andy Standford-Clark 和 Arlen Nipper 创建的。它是基于发布/订阅模型的物联网交互协议。该模型是一个简单的模型,提供对 QoS(服务质量)的支持。由于它的能力,它可以在每秒基于物联网的设备中找到。该协议具有许多特性,因为它通过 TCP 并使用 SSL/TLS 来确保安全。对于服务器之间的消息传递,它使用 CONNECT、PUBLISH、SUBSCRIBE、DISCONNECT 等。
2. 超文本传输协议(HTTP)
万维网 (WWW) 使用它来定义其消息将如何传输和格式化。该协议负责服务器在通过网络发送信息时必须采取的操作。当 URL 被输入浏览器时,该协议向服务器发送 HTTP 请求,然后将 HTTP 响应发送回浏览器。该协议还负责控制万维网上网页的格式和表示。
MQTT 和 HTTP 协议的区别:
参数 | MQTT | HTTP |
---|---|---|
缩写 | 消息队列遥测传输(Message Queuing Telemetry Transport) | 超文本传输协议(Hyper Text Transfer Protocol) |
架构 | MQTT适用于发布/订阅模型。 | HTTP适用于请求/响应模型。 |
复杂性 | MQTT的复杂性较低。 | HTTP更复杂。 |
运行 | MQTT运行在传输控制协议上。 | HTTP运行在传输控制协议(TCP)上,也可以适应用户数据报协议。 |
协议设计 | MQTT协议的设计是以数据为中心的。 | HTTP协议的设计是以文档为中心的。 |
消息大小 | MQTT生成的消息大小较小,因为它使用二进制格式。 | HTTP生成的消息大小更大,因为它使用 ASCII 格式。 |
标头大小 | MQTT是 2 个字节。 | HTTP有 8 个字节。 |
端口号 | MQTT适用于 1883 端口。 | HTTP适用于 80 或 8080 端口。 |
数据安全 | MQTT通过 SSL/TLS 提供数据安全。 | HTTP不提供安全性,但 Https 就是为此而构建的。 |