In der heutigen digitalen Welt ist die Kommunikation über das Internet alltäglich geworden, nicht nur zwischen Menschen, sondern auch zwischen Softwareprogrammen. Wenn Sie Apps wie Facebook oder Instagram nutzen oder das Wetter auf Ihrem Handy prüfen, interagieren Sie unwissentlich mit Web Services. Eine beliebte Art, wie diese Apps miteinander kommunizieren, ist REST, Representational State Transfer.
Was ist REST?
REST ist ein Satz von Regeln und Richtlinien, denen Entwickler folgen, wenn sie Web-Anwendungen erstellen, mit denen andere Programme kommunizieren können. Es ist keine Programmiersprache, keine Software und kein Tool, es ist eher eine Reihe von Standards, auf die sich alle einigen, um reibungslose Kommunikation über das Internet sicherzustellen.
Wie funktioniert REST?
Stellen Sie sich vor, Sie bestellen Essen über eine App auf Ihrem Handy:
- Sie sind der Client, Sie fragen nach etwas
- Die App ist das Interface, Sie nimmt Ihre Bestellung auf und zeigt, was verfügbar ist
- Der Server des Restaurants ist der Server, Er hat alle Informationen und erfüllt Ihre Anfrage
Wenn Sie eine Pizza bestellen, sendet die App diese Anfrage an den Server des Restaurants. Der Server prüft, ob eine Pizza zubereitet werden kann, bereitet sie vor und teilt der App mit, dass sie fertig ist. Diese Interaktion folgt REST-Prinzipien, wenn sie über das Internet erfolgt.
Schlüsseleigenschaften von REST
1. Ressourcen-Identifikation über URIs
In REST ist alles eine Ressource, ein Informationsstück oder ein Objekt (wie ein Wetterbericht oder ein Profil). Diese Ressourcen werden über URIs (Uniform Resource Identifiers) identifiziert und zugänglich gemacht, im Grunde Web-Adressen.
2. Zustandslose Interaktionen
Jede Anfrage vom Client an den Server muss alle Informationen enthalten, die der Server benötigt, um die Anfrage zu verstehen und zu erfüllen. Der Server muss sich nicht an vorherige Interaktionen erinnern.
3. Standard-HTTP-Methoden
REST nutzt Standard-HTTP-Methoden wie GET, POST, PUT und DELETE, Befehle, die Sie an einen Server senden können:
- GET: Informationen abrufen (wie das Menü eines Restaurants)
- POST: Etwas Neues erstellen (wie eine neue Bestellung aufgeben)
- PUT: Etwas Bestehendes aktualisieren (wie Ihre Bestellung ändern)
- PATCH: Partielle Aktualisierung mit wenigen Attributen
- DELETE: Etwas entfernen (wie eine Bestellung stornieren)
4. Representations
Wenn ein Client eine Ressource über REST anfragt, antwortet der Server mit den Daten in einem Standardformat, das beide verstehen, wie JSON oder XML. So wissen sowohl Client als auch Server, wie die Informationen zu interpretieren sind.
Warum REST verwenden?
REST ist beliebt, weil es einfach, leichtgewichtig und gut über das Internet funktioniert. Es nutzt bestehende Protokolle und Systeme des Webs und erfordert keine zusätzliche Software, Bibliotheken oder APIs, was es für Entwickler leicht nutzbar und verständlich macht.
Da REST auf Standardpraktiken und Internet-Protokollen basiert, ist es hochgradig skalierbar und kann eine große Anzahl von Anfragen effizient verarbeiten.