REST (Representational State Transfer)
Ein Architekturstil für APIs, der auf HTTP-Methoden basiert.
Beispiele:
- GET (Daten abrufen)
- POST (Daten anlegen)
- PUT (Daten ändern)
- DELETE (Daten löschen)
Praxis: Fast jede moderne Web-App nutzt REST-APIs.
REST, kurz für Representational State Transfer, ist ein Architekturstil für verteilte Systeme, der vor allem bei der Entwicklung von Web-APIs eine entscheidende Rolle spielt. Die Idee von REST wurde Anfang der 2000er Jahre von Roy Fielding in seiner Dissertation beschrieben und hat sich seitdem zu einem Standard etabliert, wenn es darum geht, Systeme über das Internet miteinander kommunizieren zu lassen. Eine REST-API ermöglicht es, Daten und Funktionen über das HTTP-Protokoll bereitzustellen und zu nutzen, wobei die Kommunikation in der Regel leichtgewichtig, verständlich und flexibel ist.
Das Grundprinzip von REST besteht darin, dass Ressourcen über eindeutige URLs adressiert werden. Diese Ressourcen können zum Beispiel Nutzer, Produkte oder Bestellungen sein und werden meist im JSON- oder XML-Format dargestellt. Über standardisierte HTTP-Methoden wie GET, POST, PUT oder DELETE werden die entsprechenden Aktionen auf diese Ressourcen ausgeführt. Dadurch entsteht eine einheitliche und konsistente Schnittstelle, die von unterschiedlichen Clients wie Webanwendungen, mobilen Apps oder anderen Servern genutzt werden kann.
Ein wichtiger Aspekt von REST ist die Zustandslosigkeit. Jede Anfrage an eine REST-API enthält alle nötigen Informationen, um sie auszuführen, ohne dass der Server sich an vorherige Interaktionen erinnern muss. Das macht die Architektur skalierbar und vereinfacht die Verteilung von Anfragen auf verschiedene Server. Zudem unterstützt REST das sogenannte Caching, wodurch häufig abgerufene Daten schneller ausgeliefert werden können.
Es hat sich in der Praxis durchgesetzt, weil es einfach umzusetzen ist, eine geringe Einstiegshürde bietet und auf bestehenden Standards wie HTTP aufbaut. Entwickler profitieren von klaren Konventionen und einer hohen Kompatibilität mit verschiedensten Technologien. Unternehmen wiederum schätzen die Flexibilität, da REST-APIs von nahezu jedem System genutzt werden können, das über eine Internetverbindung verfügt. Auch wenn neuere Ansätze wie GraphQL zunehmend an Bedeutung gewinnen, bleibt REST in vielen Szenarien die bevorzugte Lösung.
Damit bildet REST einen der Grundpfeiler moderner Webentwicklung. Es sorgt dafür, dass Anwendungen miteinander sprechen können, Daten strukturiert austauschen und Systeme zuverlässig zusammenarbeiten, unabhängig davon, welche Technologien im Hintergrund im Einsatz sind.