MQTT vs HTTP für APIs: Wann MQTT die bessere Wahl ist

Ashley Innocent

Ashley Innocent

13 March 2026

MQTT vs HTTP für APIs: Wann MQTT die bessere Wahl ist

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

TL;DR

Nutzen Sie MQTT für IoT-Geräte mit begrenzter Batterielebensdauer, unzuverlässigen Netzwerken oder Pub-Sub-Nachrichtenmustern. Nutzen Sie HTTP für Standard-Web-/Mobile-APIs. MQTT verwendet 2-Byte-Header im Vergleich zu HTTPs über 100 Bytes, was es ideal für eingeschränkte Geräte macht. Die moderne PetstoreAPI implementiert MQTT für Haustier-Tracking-Halsbänder und intelligente Futterautomaten.

Einleitung

Ihr Haustier-Tracking-Halsband muss alle 5 Minuten Standortaktualisierungen senden. Es läuft mit einer Knopfzellenbatterie, die 6 Monate halten sollte. Bei Verwendung von HTTP ist die Batterie nach 2 Wochen leer. Bei Verwendung von MQTT hält sie die vollen 6 Monate.

HTTP ist Standard für APIs, wurde aber für Webbrowser und nicht für IoT-Geräte entwickelt. MQTT (Message Queuing Telemetry Transport) wurde für eingeschränkte Geräte mit begrenzter Bandbreite und unzuverlässigen Netzwerken konzipiert.

Die moderne PetstoreAPI verwendet HTTP für Web- und mobile Apps, aber MQTT für IoT-Geräte: Haustier-Tracking-Halsbänder, intelligente Futterautomaten und Gesundheitsmonitore.

💡
Wenn Sie IoT-APIs entwickeln oder testen, unterstützt Apidog MQTT-Tests neben HTTP. Sie können Pub-Sub-Muster testen, Nachrichtenformate validieren und Netzwerkfehler simulieren.

Button

In diesem Leitfaden erfahren Sie, wann MQTT HTTP überlegen ist, sehen praktische Beispiele aus der modernen PetstoreAPI und entdecken, wie Sie das richtige Protokoll für Ihren Anwendungsfall auswählen.

Was ist MQTT?

MQTT ist ein leichtgewichtiges Pub-Sub-Nachrichtenprotokoll, das für IoT entwickelt wurde.

Wie MQTT funktioniert

Geräte veröffentlichen Nachrichten zu Themen (Topics). Andere Geräte abonnieren Themen:

Publisher (Pet Collar):
  Topic: pets/019b4132/location
  Payload: {"lat":37.7749,"lng":-122.4194,"battery":85}

Subscriber (Mobile App):
  Subscribe to: pets/019b4132/location
  Receives: {"lat":37.7749,"lng":-122.4194,"battery":85}

Der MQTT Broker sitzt dazwischen und leitet Nachrichten von Verlegern an Abonnenten weiter.

Wichtige MQTT-Funktionen

MQTT vs. HTTP Vergleich

Funktion MQTT HTTP
Headergröße 2 Bytes 100–500 Bytes
Muster Pub-Sub Anfrage-Antwort
Verbindung Persistent Pro-Anfrage
Bandbreite Sehr niedrig Höher
Batterieauswirkung Minimal Deutlich
Browser-Unterstützung Via WebSocket Nativ

Bandbreitenbeispiel

1000 Standortaktualisierungen pro Tag:

MQTT verbraucht 8x weniger Bandbreite.

Wann MQTT gewinnt

1. IoT-Geräte mit begrenzter Batterielebensdauer

Haustier-Tracking-Halsband:

Warum: Persistente Verbindung, kleine Header, weniger Funkzeit.

2. Unzuverlässige Netzwerke

Mobilfunk-IoT-Geräte mit lückenhafter Abdeckung:

3. Viele-zu-Viele-Kommunikation

Szenario intelligenter Futterautomat:

Feeder 1 → pets/019b4132/feeding
Feeder 2 → pets/019b4127/feeding
App 1 → subscribes to pets/+/feeding (all pets)
App 2 → subscribes to pets/019b4132/feeding (one pet)

4. Echtzeit-Sensordaten

Haustier-Gesundheitsmonitor sendet jede Sekunde Aktualisierungen:

Wann HTTP gewinnt

1. Standard-Web-/Mobile-Apps

HTTP ist universell:

2. Anfrage-Antwort-Muster

Abrufen von Haustierdetails:

GET /pets/019b4132
200 OK
{"name":"Fluffy","species":"CAT"}

HTTP ist einfacher für Anfrage-Antwort-Muster.

3. Caching-Anforderungen

HTTP-Caching funktioniert sofort:

MQTT hat kein Caching.

4. RESTful APIs

HTTP-Statuscodes, -Methoden und -Semantik:

Wie die moderne PetstoreAPI MQTT nutzt

Die moderne PetstoreAPI implementiert MQTT für IoT-Geräte.

Haustier-Tracking-Halsbänder

Halsband veröffentlicht Standort:

Topic: pets/019b4132/location
QoS: 1 (at least once)
Payload: {
  "lat": 37.7749,
  "lng": -122.4194,
  "battery": 85,
  "timestamp": "2026-03-13T10:30:00Z"
}

Mobile App abonniert:

const mqtt = require('mqtt');
const client = mqtt.connect('mqtts://mqtt.petstoreapi.com');

client.subscribe('pets/019b4132/location');

client.on('message', (topic, message) => {
  const location = JSON.parse(message);
  updateMap(location.lat, location.lng);
});

Intelligente Futterautomaten

Futterautomat abonniert Zeitplan:

Topic: pets/019b4132/feeding-schedule
Retained: true
Payload: {
  "times": ["08:00", "18:00"],
  "amount": 100
}

Futterautomat veröffentlicht Fütterungsereignisse:

Topic: pets/019b4132/feeding-events
Payload: {
  "timestamp": "2026-03-13T08:00:15Z",
  "amount": 100,
  "dispensed": true
}

Gesundheitsmonitore

Monitor veröffentlicht Vitaldaten:

Topic: pets/019b4132/health
QoS: 0 (fire and forget, high frequency)
Payload: {
  "heartRate": 120,
  "temperature": 38.5,
  "activity": "resting"
}

MQTT mit Apidog testen

Apidog unterstützt MQTT-Tests neben HTTP und anderen Protokollen.

MQTT Pub-Sub testen

  1. Verbindung zum MQTT-Broker herstellen
  2. Themen (Topics) abonnieren
  3. Testnachrichten veröffentlichen
  4. Nachrichtenformat validieren
  5. QoS-Level testen

Netzwerkfehler simulieren

Mit HTTP vergleichen

Testen Sie dieselbe Funktionalität mit beiden Protokollen:

Fazit

MQTT und HTTP dienen unterschiedlichen Zwecken. Nutzen Sie MQTT für IoT-Geräte mit begrenzten Ressourcen. Nutzen Sie HTTP für Standard-Web-/Mobile-APIs.

Die moderne PetstoreAPI zeigt, wie man beides verwendet: HTTP für benutzerorientierte APIs, MQTT für IoT-Geräte. Das richtige Protokoll hängt von Ihren Einschränkungen ab, nicht davon, welches „besser“ ist.

Testen Sie beide Protokolle mit Apidog, um die beste Lösung für Ihren Anwendungsfall zu finden.

Button

FAQ

Kann MQTT über HTTP funktionieren?

MQTT kann über WebSocket laufen, welches wiederum über HTTP funktioniert. Dies hilft bei der Firewall-Durchquerung, verliert jedoch einige der Effizienzvorteile von MQTT.

Was sind MQTT QoS-Level?

Ist MQTT sicher?

Ja, MQTT unterstützt TLS-Verschlüsselung (MQTTS) und Benutzername/Passwort-Authentifizierung. Die moderne PetstoreAPI verwendet MQTTS für alle IoT-Geräte.

Können Browser MQTT verwenden?

Browser können MQTT über WebSocket verwenden. Bibliotheken wie MQTT.js unterstützen Browser-Umgebungen.

Wie vergleicht sich MQTT mit WebSocket?

MQTT ist ein Protokoll, das über WebSocket laufen kann. WebSocket ist eine Transportschicht. MQTT fügt Pub-Sub, QoS und IoT-spezifische Funktionen auf WebSocket hinzu.

Praktizieren Sie API Design-First in Apidog

Entdecken Sie eine einfachere Möglichkeit, APIs zu erstellen und zu nutzen

MQTT vs HTTP für APIs: Wann MQTT die bessere Wahl ist