Definition „Representational State Transfer API“ Was ist REST API?

Von Ilan_r_r

Hinter REST API verbirgt sich der etwas sperrige Begriff „Representational State Transfer Application Programming Interface“. Diese Programmierschnittstelle orientiert sich den Paradigmen und dem Verhalten des World Wide Web und beschreibt einen Kommunikationsansatz zwischen Servern und Clients in Netzwerkumgebungen.

Anbieter zum Thema

Als Programmierparadigma versteht sich REST API als Abstraktion der gesamten Struktur und des Verhaltens des World Wide Web.
Als Programmierparadigma versteht sich REST API als Abstraktion der gesamten Struktur und des Verhaltens des World Wide Web.
(Bild: OpenClipart-Vectors - Pixabay.com)

Das REST API wurde von Roy Fielding als Konzept parallel zu HTTP 1.1 entwickelt und erstmals im Jahr 2000 vorgestellt. Die erste Nennung dieser Programmierschnittstelle ist in der Dissertation von Roy Fielding mit dem Titel „Architectural Styles and the Design of Network-based Software Architectures“ zu finden.

REST versteht sich als eine Art Abstraktion der gesamten Struktur und des Verhaltens des World Wide Web selbst. Auch wollten die Entwickler mit REST einen (z. B. im Vergleich zu SOAP) völlig anderen Architekturstil schaffen, der den Anforderungen des modernen World Wide Web besser gerecht wird.

eBook API-Entwicklung
eBook „API-Entwicklung“
(Bild: Dev-Insider)

E-Book zum Thema

Im eBook „API-Entwicklung“ erfahren Sie, wie moderne API-Architekturen aufgebaut sind, wie sich APIs erstellen und einbinden lassen und welche Werkzeuge es gibt. Darüber hinaus beleuchtet es einige Best Practices.

Da das Programmierparadigma von vornherein mit Blick auf die bestehenden Strukturen im Internet entwickelt wurde, ist es nicht weiter verwunderlich, dass der Großteil der für REST notwendigen Infrastruktur bereits im Word Wide Web vorhanden ist. Viele beziehungsweise sogar die meisten Web-Dienste sind dementsprechend mit REST kompatibel. AWS, VMware, Azure und andere Cloud-Anbieter setzen fast ausschließlich auf REST.

Die sechs Architekturprinzipien von REST

Die REST-Schnittstelle legt nicht exakt fest, nach welchen Kriterien die einzelnen Web-Dienste im Detail implementiert werden können. Die Spezifikation beschreibt allerdings sechs unterschiedliche Architekturprinzipien, die für konforme Services notwendig sein müssen:

  • Ein Client-Server-Modell: REST verlangt eine klare Trennung von Nutzerinterface und Datenhaltung. Hinzu kommt, dass sich Clients somit leichter an verschiedene Umgebungen und Plattformen anpassen lassen, während die Server einfacher zu skalieren sind.
  • Zustandslosigkeit: Client und Server müssen zwingend zustandslos miteinander kommunizieren können. Das bedeutet, dass bei allen Anfragen eines Clients alle relevanten Informationen vom Client geliefert werden müssen. Server können somit auf keinen vorher gespeicherten Kontext zurückgreifen. Das macht das System enorm zuverlässig und flexibel, geht aber zu Lasten der Netzwerkgeschwindigkeit und der Client-Kontrolle.
  • Caching: Informationen können als cacheable oder non-cacheable klassifiziert werden. Somit können Clients Daten und Antworten des Servers speichern und bei weiteren Requests auf diese zurückgreifen. Der Vorteil liegt in der sehr schnellen Antwortgeschwindigkeit und einer höheren Netzwerkgeschwindigkeit, die Gefahr darin, dass Clients veraltete Daten aus dem Cache abrufen.
  • Einheitliche Schnittstelle: Die Schnittstellen müssen REST-Konform sein und müssen somit von vielen verschiedenen Endgeräten aus nutzbar gemacht werden können. Die standardisierten Schnittstellen bieten eine vereinfachte Architektur, leider oftmals auf Kosten der Geschwindigkeit, wenn Daten und Informationen auf ein bestimmtes Format umgewandelt werden müssen.
  • Layered Systems: Die REST API setzt auf mehrschichtige und hierarchisch aufgebaute Systeme, welche streng voneinander abgegrenzt sind. Dies sorgt für eine erhöhte Sicherheit, geht oftmals aber auf Kosten höherer Latenzen und eines größeren Overheads.
  • Code on Demand: Die Funktionen von Clients müssen über nachladbare und ausführbare Programmteile erweitert werden können.

E-Book zum Thema

API-Entwicklung

eBook API-Entwicklung
eBook „API-Entwicklung“
(Bild: Dev-Insider)

APIs sind das Herzstück moderner Anwendungsarchitekturen und innovativer Geschäftsmodelle der „API-Wirtschaft“. Startups in diesem Bereich fließen üppige Kapitalsummen zu. Entsprechend scheint sich auch das Innovationstempo weiter zu beschleunigen.

Im eBook erfahren Sie mehr über:

  • Trends rund ums API-Design
  • Moderne API-Architekturen
  • Das ABC des API-Designs
  • Tools für das API-Management
  • Best Practices der API-Entwicklung

(ID:45033049)