RESTful

RESTful beschreibt einen weit verbreiteten Bauplan für Schnittstellen, über die Programme im Internet Daten austauschen. Eine solche Schnittstelle spricht dieselbe Sprache wie ein Webbrowser: Man ruft eine Adresse auf und bekommt dafür eine klar benannte Information zurück.

Programme müssen ständig Daten von anderen Programmen holen. Eine Wetter-App fragt bei einem Wetterdienst nach, ein Onlineshop fragt bei der Bank nach, ob eine Zahlung geklappt hat. Damit das funktioniert, braucht es eine vereinbarte Übergabestelle mit festen Regeln. Solche Übergabestellen nennt man Schnittstellen oder auf Englisch APIs. RESTful heißt eine Schnittstelle dann, wenn sie nach einem bestimmten, sehr verbreiteten Regelsatz gebaut ist. Dieser Regelsatz stammt aus dem Jahr 2000 und trägt den Namen Representational State Transfer, kurz REST.

Warum fast jede App im Netz REST spricht

Der große Vorteil ist Einheitlichkeit. Wer eine RESTful-Schnittstelle einmal verstanden hat, findet sich in der nächsten schnell zurecht. Die Adressen sind ähnlich aufgebaut, die Befehle heißen gleich, die Antworten kommen in einem vertrauten Format. Ein Entwickler muss also nicht für jeden Dienst eine völlig neue Denkweise lernen.

Dazu kommt, dass REST auf der Technik des normalen Webs aufsetzt. Es nutzt genau die Protokolle, mit denen auch dein Browser Webseiten lädt. Dadurch funktioniert es durch Firmen-Firewalls hindurch, lässt sich mit Standardwerkzeugen testen und läuft auf praktisch jedem Server. Man muss keine Spezialsoftware installieren, um es zu benutzen.

Auch für KI-Dienste ist das der Normalfall. Wenn ein Unternehmen ein Sprachmodell in seine eigene Software einbaut, geschieht das über eine RESTful-Schnittstelle des Anbieters. Die Firma schickt den Text des Nutzers hin und bekommt die Antwort des Modells zurück. Das eigentliche Modell bleibt dabei im Rechenzentrum des Anbieters.

Adressen, Verben und Zustandslosigkeit

Der Grundgedanke ist einfach: Jede Information bekommt eine eigene Adresse. Eine Nutzerliste liegt zum Beispiel unter /users, der Nutzer mit der Nummer 42 unter /users/42. Solche Adressen bezeichnen Dinge, nicht Tätigkeiten. Man erkennt eine gut gebaute REST-Schnittstelle oft schon daran, dass in den Adressen Hauptwörter stehen.

Was mit dieser Adresse passieren soll, sagt ein kurzes Kommando davor. GET holt Daten ab, POST legt etwas Neues an, PUT ändert einen vorhandenen Eintrag, DELETE löscht ihn. Diese vier Kommandos reichen für die meisten Fälle aus. Zurück kommt eine Antwort, meist im Format JSON, das für Menschen noch halbwegs lesbar und für Maschinen leicht zu verarbeiten ist. Dazu gibt es eine Statusnummer: 200 bedeutet Erfolg, 404 heißt, dass es die Sache nicht gibt.

Eine wichtige Regel heißt Zustandslosigkeit. Der Server merkt sich zwischen zwei Anfragen nichts über den Fragesteller. Jede Anfrage muss deshalb alles enthalten, was zu ihrer Bearbeitung nötig ist, auch den Ausweis in Form eines Schlüssels. Das wirkt umständlich, hat aber einen praktischen Grund: Man kann beliebig viele Server nebeneinander stellen, und es ist egal, welcher davon eine Anfrage beantwortet. Genau so lassen sich Dienste mit Millionen Nutzern betreiben.

Vom API-Schlüssel bis zur Preisliste pro Anfrage

Sichtbar wird REST vor allem in Entwicklerdokumentationen. Wer sich bei einem KI-Anbieter registriert, bekommt einen API-Schlüssel und eine Liste von Adressen, die er ansprechen darf. Auch Kartendienste, Zahlungsanbieter und Börsendaten-Anbieter arbeiten so. Die Abrechnung erfolgt dann oft pro Anfrage oder pro verarbeiteter Textmenge.

In Wirtschaftsnachrichten taucht der Begriff meist indirekt auf. Wenn es heißt, ein Unternehmen öffne seine Daten für Partner oder ein Dienst sei plötzlich teurer geworden, geht es fast immer um solche Schnittstellen. Firmen wie Twitter oder Reddit haben Preise und Regeln ihrer APIs drastisch geändert, was ganze Zusatzprogramme unbrauchbar machte. Wer auf einer fremden Schnittstelle aufbaut, macht sich also abhängig.

Ein häufiger Irrtum ist übrigens, RESTful und API seien dasselbe. REST ist nur einer von mehreren Stilen. Konkurrenten heißen GraphQL, wo der Aufrufer genau angibt, welche Felder er möchte, oder gRPC, das schneller ist, aber schwerer zu durchschauen. REST bleibt trotzdem der Standard, weil es einfach und überall verstanden wird.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.