REST = Repräsentative Zustandsübertragung
REST ist eine Reihe von Regeln, die, wenn sie befolgt werden, es ermöglichen, eine verteilte Anwendung zu erstellen, die eine bestimmte Anzahl von wünschenswerten Einschränkungen hat.
REST ist ein Protokoll zum Austausch beliebiger Nachrichten (XML, JSON usw.), die über HTTP transportiert werden können.
Merkmale:
Es ist zustandslos, was bedeutet, dass idealerweise keine Verbindung zwischen Client und Server aufrechterhalten werden sollte. Es liegt in der Verantwortung des Clients, seinen Kontext an den Server zu übermitteln, und der Server kann diesen Kontext dann speichern, um weitere Anfragen des Clients zu bearbeiten. Die vom Server verwaltete Sitzung wird beispielsweise durch den vom Client übermittelten Sitzungsbezeichner identifiziert.
Vorteile der Staatenlosigkeit:
- Webdienste können jeden Methodenaufruf separat behandeln.
- Webdienste müssen die vorherige Interaktion des Kunden nicht aufrechterhalten.
- Dies wiederum vereinfacht das Anwendungsdesign.
- HTTP ist im Gegensatz zu TCP selbst ein zustandsloses Protokoll, so dass RESTful Web Services nahtlos mit den HTTP-Protokollen zusammenarbeiten.
Nachteile der Staatenlosigkeit:
- Eine zusätzliche Schicht in Form einer Überschrift muss zu jeder Anfrage hinzugefügt werden, um den Zustand des Kunden zu erhalten.
- Aus Sicherheitsgründen müssen wir jeder Anfrage eine Header-Information hinzufügen.
Von REST unterstützte HTTP-Methoden:
GET: /string/someotherstring Sie ist idempotent und sollte im Idealfall bei jedem Aufruf das gleiche Ergebnis liefern
PUT: Dasselbe wie GET. Idempotent und wird zur Aktualisierung von Ressourcen verwendet.
POST: sollte eine Url und einen Textkörper enthalten Wird für die Erstellung von Ressourcen verwendet. Mehrere Aufrufe sollten idealerweise unterschiedliche Ergebnisse liefern und mehrere Produkte erstellen.
LÖSCHEN: Dient zum Löschen von Ressourcen auf dem Server.
KOPF:
Die HEAD-Methode ist identisch mit der GET-Methode, mit der Ausnahme, dass der Server in der Antwort KEINEN Nachrichtentext zurückgeben MUSS. Die in den HTTP-Headern enthaltenen Metainformationen in der Antwort auf eine HEAD-Anfrage SOLLTEN identisch mit den Informationen sein, die in der Antwort auf eine GET-Anfrage gesendet werden.
OPTIONEN:
Diese Methode ermöglicht es dem Client, die mit einer Ressource verbundenen Optionen und/oder Anforderungen oder die Fähigkeiten eines Servers zu bestimmen, ohne eine Ressourcenaktion zu implizieren oder eine Ressourcenabfrage zu initiieren.
HTTP-Antworten
Alle Antworten finden Sie hier .
Hier sind ein paar wichtige davon: 200 - OK 3XX - Zusätzliche Informationen werden vom Kunden benötigt und die Adresse wird umgeleitet 400 - Schlechte Anfrage
401 - Unberechtigter Zugriff
403 - Verboten
Die Anfrage war gültig, aber der Server lehnt eine Aktion ab. Der Benutzer hat möglicherweise nicht die erforderlichen Berechtigungen für eine Ressource oder benötigt ein Konto.
404 - Nicht gefunden
Die angeforderte Ressource konnte nicht gefunden werden, könnte aber in Zukunft verfügbar sein. Nachfolgende Anfragen des Clients sind zulässig.
405 - Methode nicht erlaubt Eine Anfragemethode wird für die angefragte Ressource nicht unterstützt, z. B. eine GET-Anfrage für ein Formular, das die Übermittlung von Daten per POST erfordert, oder eine PUT-Anfrage für eine schreibgeschützte Ressource.
404 - Anfrage nicht gefunden
500 - Interner Server-Fehler
502 - Schlechter Gateway-Fehler