Zum Inhalt springen

Glossar · R

REST

Architekturstil für APIs, der HTTP-Methoden (GET, POST, PUT, DELETE) gegen klar definierte Ressourcen nutzt. Zustandslos, gecached, einheitlich.

Definition

REST steht für Representational State Transfer und ist ein Architekturstil für die Entwicklung von Web-APIs. Der Begriff wurde erstmals 2000 von Roy Fielding in seiner Dissertation an der University of California, Irvine, definiert. REST nutzt die bestehenden Standards des HTTP-Protokolls und ermöglicht die Interaktion zwischen Client und Server durch den Austausch von Daten in Form von Ressourcen.

Ein zentrales Merkmal von REST ist die Verwendung von HTTP-Methoden wie GET, POST, PUT und DELETE, um auf Ressourcen zuzugreifen und diese zu manipulieren. Ressourcen werden durch eindeutige URIs (Uniform Resource Identifiers) identifiziert, was eine klare Struktur und Zugänglichkeit der Daten gewährleistet.

Was bedeutet das für Ihr Unternehmen?

REST ist die verbreitetste Art, wie Systeme über das Internet Daten austauschen, etwa Ihr Shop mit der Warenwirtschaft oder Ihre Website mit dem CRM. Bietet eine Software eine dokumentierte REST-Schnittstelle, lassen sich Anbindungen meist mit überschaubarem Aufwand bauen. Vor dem Kauf einer Branchensoftware lohnt die Frage, ob eine solche Schnittstelle vorhanden ist, welche Daten sie freigibt und ob ihre Nutzung zusätzlich kostet.

Hintergrund

Fielding beschrieb mit REST die Architekturprinzipien, die er zuvor bei der Mitarbeit an den Standards HTTP/1.1 und URI angewendet hatte. Für Webdienste setzte sich REST später als einfachere Alternative zu schwergewichtigeren Ansätzen wie SOAP (Simple Object Access Protocol) durch, weil es direkt auf den Prinzipien des Webs aufbaut.

REST hat sich seit seiner Einführung als äußerst populär erwiesen und wird heute von vielen Unternehmen und Entwicklern verwendet, um skalierbare und wartbare Webanwendungen zu erstellen. Die Einfachheit und Klarheit von REST hat zur Verbreitung von RESTful APIs in vielen modernen Anwendungen beigetragen.

Funktionsweise

RESTful APIs arbeiten nach dem Prinzip der Zustandslosigkeit. Das bedeutet, dass jede Anfrage des Clients an den Server alle notwendigen Informationen enthält, um die Anfrage zu verstehen und zu verarbeiten. Der Server speichert keinen Zustand zwischen den Anfragen, was die Skalierbarkeit und die Fehlertoleranz erhöht.

Ein weiteres wichtiges Merkmal von REST ist die Verwendung von Caching. Antworten von Servern können zwischengespeichert werden, um die Leistung zu verbessern und die Anzahl der Anfragen zu reduzieren. Dies führt zu schnelleren Reaktionszeiten und einer besseren Benutzererfahrung.

Einsatzgebiete

REST wird in einer Vielzahl von Anwendungen eingesetzt, darunter Webanwendungen, mobile Apps und IoT-Geräte. Die Flexibilität von REST ermöglicht es Entwicklern, APIs zu erstellen, die leicht in verschiedene Systeme integriert werden können.

Ein typisches Beispiel für die Verwendung von REST ist die Integration von Drittanbieter-Diensten in Webanwendungen, wie etwa Zahlungsabwicklung, soziale Netzwerke oder Datenanalyse. RESTful APIs bieten eine standardisierte Schnittstelle, die die Interoperabilität zwischen verschiedenen Systemen erleichtert.

Abgrenzung

REST wird häufig mit anderen Architekturstilen wie SOAP und GraphQL verglichen. Während SOAP ein protokollbasiertes System ist, das auf XML-Nachrichten und strengen Standards basiert, ist REST flexibler und nutzt die bestehenden HTTP-Standards. GraphQL hingegen ermöglicht den Clients, genau die Daten abzufragen, die sie benötigen, was zu einer geringeren Datenübertragung führen kann, jedoch auch komplexer in der Implementierung ist.

Ein weiterer Unterschied besteht darin, dass RESTful APIs in der Regel einfacher zu implementieren und zu verwenden sind, während SOAP und GraphQL zusätzliche Funktionen und Sicherheitsmerkmale bieten, die in bestimmten Anwendungen erforderlich sein können.