Comparing MQTT vs. HTTP : Differences and Bridge Functionality Explained

Introduction: IoT devices can connect and communicate with IoT cloud core using two protocols viz. MQTT and HTTP. For communication with cloud core, IoT devices require MQTT bridge or HTTP bridge. This is configured in device registry during device creation. This page compares MQTT vs HTTP and mentions difference between MQTT and HTTP protocols. We will compare MQTT vs HTTP and explore differences between them in addition to understanding MQTT bridge and HTTP bridge.

What is MQTT Bridge ?

MQTT is standard publish/subscribe protocol which is used by embedded devices. It is also used as common M2M interactions. In this device connection is maintained and it uses full duplex TCP connection.

Broker based MQTT protocol

The figure-1 depicts simple MQTT protocol architecture (broker based). Following are the features of MQTT protocol:
• It is over TCP.
• It uses SSL/TLS for security.
• There are many messages used in MQTT protocol such as CONNECT, PUBLISH, SUBSCRIBE, DISCONNECT etc.
• Username/Password is used in 'connect' message.
• It encrypts payload i.e. it is payload agnostic.
• 1883 port is used by MQTT protocol.

Following are the features of MQTT protocol.
• Lower usage of bandwidth
• Low latency
• High throughput
• Supports raw binary data

Refer MQTT Protocol basics >>, MQTT tutorial >> and advantages and disadvantages of MQTT >>.

What is HTTP Bridge ?

HTTP is connectionless protocol in which connection is not maintained with cloud core. HTTP protocol sends requests and receive responses. Cloud core supports selected versions of the HTTP protocol.

HTTP connection

The figure-2 depicts, HTTP connection between client (web user) and web server. It uses normal IP header for routing of packets and data are not encrypted before transmission.

Following are the features of HTTP protocol.
• It is light in weight.
• It causes few firewall issues.
• In HTTP protocol, binary data must be base64 encoded. This requires more CPU and network resources.

Refer difference between HTTP vs HTTPS >> and advantages and disadvantages of HTTP >> for more information.

Tabular Difference between MQTT and HTTP

Both MQTT and HTTP bridges use public key device authentication and JWTs (JSON Web Tokens). JWT is transmitted in "password" field of "CONNECT" message in MQTT protocol where as JWT is transmitted in "Authorization" header of "HTTP Request" message. In both protocols, telemetry events are pushed to the cloud Publish/Subscribe. Following table mentions difference between MQTT and HTTP protocols.

Features MQTT HTTP
Full Form Message Queue Telemetry Transport Hyper Text Transfer Protocol
Design Methodology The protocol is data centric. The protocol is document centric.
Architecture It has publish/subscribe architecture. Here devices can publish any topics and can also subscribe for any topics for any updates. It has request/response architecture.
Complexity simple more complex
Data security YES NO, hence HTTPS is used to provide data security.
Upper layer protocol It runs over TCP. It runs over UDP.
message size small, it is binary with 2Byte header. Large, it is in ASCII format.
Device Connection Status It is reported. It is not reported.
Service levels 3 1
Libraries 30KB C, 100KB Java Large
Port number 1883 80 or 8080
Data distribution 1 to 0/1/N one to one only

Conclusion

➨When deciding between MQTT and HTTP, it's essential to consider the specific requirements of your IoT application. MQTT excels in scenarios where low latency, minimal bandwidth, and reliable message delivery are crucial, making it ideal for IoT devices, sensors, and real-time applications. Its lightweight nature and efficient use of network resources make MQTT the go-to choice for constrained environments.
➨On the other hand, HTTP, with its widespread adoption and simplicity, is better suited for web-based applications where robust data exchange and compatibility with existing web infrastructure are priorities. However, it may not be as efficient in terms of bandwidth and power consumption, which are critical factors for IoT deployments.


Difference between MQTT and REST, DDS, SMQTT and CoAP protocols

IoT Wireless Technologies

WLAN    THREAD    EnOcean    LoRa    SIGFOX    WHDI    Zigbee   6LoWPAN   Zigbee RF4CE   Z-Wave   NFC   RFID   INSTEON  

What is difference between

RF and Wireless Terminologies