REST = Representational State Transfer
REST ist eine Reihe von Regeln, mit deren Hilfe Sie eine verteilte Anwendung erstellen können, die bestimmte wünschenswerte Einschränkungen aufweist.
REST ist ein Protokoll zum Austausch von Nachrichten (XML, JSON usw.), die HTTP zum Transport dieser Nachrichten verwenden können.
Eigenschaften:
Es ist zustandslos, was bedeutet, dass im Idealfall keine Verbindung zwischen Client und Server aufrechterhalten werden sollte. Es liegt in der Verantwortung des Clients, seinen Kontext an den Server zu übergeben, und dann kann der Server diesen Kontext speichern, um die weitere Anforderung des Clients zu verarbeiten. Beispielsweise wird die vom Server verwaltete Sitzung durch die vom Client übergebene Sitzungskennung identifiziert.
Vorteile der Staatenlosigkeit:
- Web Services können jeden Methodenaufruf separat behandeln.
- Web Services müssen die vorherige Interaktion des Clients nicht beibehalten.
- Dies vereinfacht wiederum das Anwendungsdesign.
- HTTP ist im Gegensatz zu TCP selbst ein zustandsloses Protokoll. Daher arbeiten RESTful Web Services nahtlos mit den HTTP-Protokollen zusammen.
Nachteile der Staatenlosigkeit:
- Zu jeder Anforderung muss eine zusätzliche Ebene in Form einer Überschrift hinzugefügt werden, um den Status des Clients beizubehalten.
- Aus Sicherheitsgründen müssen wir jeder Anfrage eine Header-Information hinzufügen.
Von REST unterstützte HTTP-Methoden:
GET: / string / someotherstring Es ist idempotent und sollte idealerweise bei jedem Anruf die gleichen Ergebnisse zurückgeben
PUT: Wie GET. Idempotent und wird zum Aktualisieren von Ressourcen verwendet.
POST: sollte eine URL und einen Text enthalten, die zum Erstellen von Ressourcen verwendet werden. Mehrere Anrufe sollten idealerweise unterschiedliche Ergebnisse liefern und mehrere Produkte erstellen.
LÖSCHEN: Zum Löschen von Ressourcen auf dem Server.
KOPF:
Die HEAD-Methode ist identisch mit GET, außer dass der Server in der Antwort KEINEN Nachrichtentext zurückgeben darf. Die in den HTTP-Headern als Antwort auf eine HEAD-Anforderung enthaltenen Metainformationen MÜSSEN mit den Informationen identisch sein, die als Antwort auf eine GET-Anforderung gesendet wurden.
OPTIONEN:
Mit dieser Methode kann der Client die mit einer Ressource verbundenen Optionen und / oder Anforderungen oder die Funktionen eines Servers ermitteln, ohne eine Ressourcenaktion zu implizieren oder einen Ressourcenabruf einzuleiten.
HTTP-Antworten
Hier finden Sie alle Antworten .
Hier einige wichtige: 200 - OK 3XX - Zusätzliche Informationen, die vom Client und der URL-Umleitung benötigt werden 400 - Ungültige Anforderung
401 - Nicht autorisiert für den Zugriff
403 - Verboten
Die Anforderung war gültig, aber der Server lehnt die Aktion ab. Der Benutzer verfügt möglicherweise nicht über die erforderlichen Berechtigungen für eine Ressource oder benötigt ein Konto.
404 - Nicht gefunden
Die angeforderte Ressource wurde nicht gefunden, ist aber möglicherweise in Zukunft verfügbar. Nachträgliche Anfragen des Kunden sind zulässig.
405 - Methode nicht zulässig Eine Anforderungsmethode wird für die angeforderte Ressource nicht unterstützt. Beispiel: Eine GET-Anforderung in einem Formular, für das Daten über POST angezeigt werden müssen, oder eine PUT-Anforderung in einer schreibgeschützten Ressource.
404 - Anforderung nicht gefunden
500 - Interner Serverfehler
502 - Fehlerhafter Gateway-Fehler