Davies Meyer – Startseite
    Tech3 Min. Lesezeit

    REST (Representational State Transfer)

    REST steht für Representational State Transfer und bezeichnet einen Architekturstil für verteilte Systeme. Zu seinen Vorgaben gehören eine einheitliche Schnittstelle, zustandslose Kommunikation zwischen Client und Server sowie Regeln für Zwischenspeicherung und Systemschichten. REST ist weder ein Datenformat noch ein eigenes Übertragungsprotokoll.

    REST (Representational State Transfer) im Detail

    Bei einer REST-orientierten Webschnittstelle stehen Ressourcen im Mittelpunkt, etwa ein Produkt oder ein Dokument. Eine Adresse identifiziert die Ressource; eine Darstellung übermittelt ihren aktuellen Inhalt. JSON ist dafür ein mögliches Format, aber keine REST-Pflicht. Auch eine Schnittstelle, die JSON über HTTP liefert, erfüllt damit noch nicht alle REST-Vorgaben.

    Zustandslos bedeutet hier: Eine Anfrage enthält die Informationen, die der Server für ihre Bearbeitung benötigt, ohne auf einen zuvor gespeicherten Gesprächszustand des Clients angewiesen zu sein. Das verbietet weder Datenbanken noch gespeicherte Produkte oder Bestellungen. Der Zustand einer Ressource ist etwas anderes als der Gesprächszustand zwischen Anfragen.

    Die einheitliche Schnittstelle umfasst bei Fielding mehr als passende Adressen und HTTP-Methoden. Dazu gehören selbstbeschreibende Nachrichten und Verweise auf mögliche nächste Schritte. Im Alltag wird die Bezeichnung REST oft weiter gefasst. Prüfe deshalb die dokumentierten Eigenschaften einer API, statt aus dem Etikett auf ihr Verhalten zu schließen.

    Für Integrationen sind Wiederholungen besonders wichtig. Eine idempotente Operation soll bei identischer Wiederholung dieselbe beabsichtigte Wirkung auf den Serverzustand haben wie bei einmaliger Ausführung. Ihre Antworten müssen nicht identisch sein. Ob und wie eine fehlgeschlagene Anfrage erneut gesendet werden darf, hängt von der Operation und ihrer Umsetzung ab.

    Beispiele

    Hypothetisches Anwendungsbeispiel

    Ein Portal setzt die Lieferadresse eines gespeicherten Entwurfs über eine entsprechend umgesetzte PUT-Operation. Nach einem Verbindungsabbruch sendet es dieselbe Anfrage erneut. Die Adresse bleibt dieselbe. Für das anschließende Anlegen einer Bestellung wird separat geklärt, wie wiederholte Anfragen erkannt werden, damit keine zweite Bestellung entsteht.

    Wichtige Punkte

    • REST ist ein Architekturstil mit mehreren Vorgaben.
    • JSON über HTTP ist allein kein Nachweis für REST.
    • Zustandslose Kommunikation verbietet keine gespeicherten Ressourcen.
    • Wiederholbare Wirkung und identische Antwort unterscheiden.

    Anwendung im Marketing-Alltag

    Prüfe Ressourcen, Methoden, Antworten, Fehler und Wiederholungsregeln am benötigten Ablauf. Bewerte danach, ob die Schnittstelle die Integration nachvollziehbar und zuverlässig unterstützt.

    Sinnvolle Messgrößen

    Vertragstreue

    Dokumentierte Anfragen, Antworten und Fehler mit der tatsächlichen Umsetzung vergleichen.

    Wiederholungsverhalten

    Nach Verbindungsabbrüchen auf doppelte oder widersprüchliche Vorgänge prüfen.

    Integrationsaufwand

    Zuordnung, Fehlerbehandlung und spätere Änderungen im gesamten Ablauf beurteilen.

    Häufige Fehler

    • Jede JSON-Schnittstelle pauschal als vollständig REST-konform bezeichnen.
    • Zustandslosigkeit mit fehlender Datenspeicherung verwechseln.
    • Idempotenz als Garantie identischer Antworten oder sicherer Wiederholung jeder Operation verstehen.

    Quellen und Einordnung

    • Roy Fielding: Representational State Transfer

      Primärquelle zum REST-Architekturstil und seinen Vorgaben, einschließlich zustandsloser Kommunikation und einheitlicher Schnittstelle.

    • MDN: Idempotent

      Trennt die beabsichtigte Wirkung wiederholter Anfragen von identischen Antworten und erläutert die Bedeutung von HTTP-Methoden.

    Häufige Fragen zu REST (Representational State Transfer)

    Nein. REST beschreibt Architekturprinzipien; JSON ist ein Datenformat. Eine REST-Schnittstelle kann unterschiedliche Darstellungen verwenden.

    Begriffsempfehlungen werden geladen…

    Alle Begriffe