REST-API
RESTful-APIs sind die bekannteste Art von API. REST steht für REpresentational State Transfer.
REST-APIs sind APIs, die standardisierte Prinzipien, Eigenschaften und Einschränkungen befolgen.
Sie können auf Ressourcen in der REST-API mit HTTP-Verben zugreifen.
REST-APIs arbeiten mit einem einfachen Anfrage/Antwort-System. Sie können eine Anfrage mit diesen HTTP-Methoden senden:
- GET
- POST
- PUT
- PATCH
- DELETE
- TRACE
- OPTIONS
- CONNECT
- HEAD
Hier sind die häufigsten HTTP-Verben
- GET (vorhandene Daten lesen)
- POST (neue Daten oder Antworten erstellen)
- PATCH (Daten aktualisieren)
- DELETE (Daten löschen)
Der Client kann Anfragen mit HTTP-Verben gefolgt von der Endpunkt machen.
Der Endpunkt (oder Pfad) ist die URL, die Sie anfordern. Der Pfad bestimmt die Ressource, die Sie anfordern.
Wenn Sie eine Anfrage an einen Endpunkt senden, antwortet er mit den relevanten Daten, meistens formatiert als JSON, XML, Klartext, Bilder, HTML und mehr.
REST-APIs können auch mit vielen verschiedenen Endpunkten entworfen werden, die verschiedene Arten von Daten zurückgeben. Der Zugriff auf mehrere Endpunkte mit einer REST-API erfordert verschiedene API-Aufrufe.
Eine tatsächliche RESTful-API folgt den folgenden fünf Einschränkungen:
-
Client-Server-Architektur
Der Client fordert die Daten vom Server an, ohne Interpretation durch Dritte.
-
Zustandslosigkeit
Zustandslosigkeit bedeutet, dass jede HTTP-Anforderung in einer vollständigen Isolation stattfindet. Jede Anfrage enthält die Informationen, die notwendig sind, um die Anfrage zu bearbeiten. Der Server verlässt sich nie auf Informationen aus früheren Anfragen. Es gibt keinen Zustand.
-
Cachebarkeit
Antworten können explizit oder implizit als cachebar oder nicht-cachebar definiert werden, um Skalierbarkeit und Leistung zu verbessern. Beispielsweise kann das Aktivieren des Caches von GET-Anforderungen die Antwortzeiten von Anforderungen für Ressourcendaten verbessern.
-
Schichtung
Verschiedene Schichten der API-Architektur sollten zusammenarbeiten und ein skalierbares System schaffen, das einfach zu aktualisieren oder anzupassen ist.
-
Einheitliche Schnittstelle
Die Kommunikation zwischen Client und Server muss in einer standardisierten Sprache erfolgen, die unabhängig von beiden ist. Dies verbessert die Skalierbarkeit und Flexibilität.
REST-APIs sind eine gute Wahl für Projekte, die sein müssen
- Flexibel
- Skalierbar
- Schnell
SOAP-API
SOAP ist ein notwendiges Protokoll, das zur weit verbreiteten Verwendung von APIs beigetragen hat.
SOAP ist das Akronym für Simple Object Access Protocol.
SOAP ist ein standardisiertes Protokoll, das auf XML basiert, um Anfragen zu erstellen und Antworten zu erhalten.
Auch wenn SOAP auf XML basiert, wird das SOAP-Protokoll nach wie vor weitreichend genutzt.
SOAP-APIs machen Daten als Dienst verfügbar und werden typischerweise verwendet, wenn Transaktionen mit mehreren API-Aufrufen oder Anwendungen durchgeführt werden, bei denen Sicherheit im Vordergrund steht.
SOAP wurde ursprünglich 1998 für Microsoft entwickelt, um einen standardisierten Mechanismus zur Integration von Diensten im Internet unabhängig vom Betriebssystem, Objektmodell oder Programmiersprache bereitzustellen.
Das "S" in SOAP steht für Einfach, und das aus gutem Grund - SOAP kann mit weniger Komplexität verwendet werden, da es weniger Kodierung in der App-Schicht für Transaktionen, Sicherheit und andere Funktionen erfordert.
SOAP hat drei Hauptmerkmale:
-
Erweiterbarkeit der SOAP-API
SOAP ermöglicht Erweiterungen, die robustere Funktionen wie Windows Server Security, Addressing und mehr einführen.
-
Neutralität der SOAP-API
SOAP ist in der Lage, über eine Vielzahl von Protokollen wie UDP, JMS, SMTP, TCP und HTTP zu arbeiten.
-
Unabhängigkeit der SOAP-API
SOAP-API-Antworten basieren rein auf XML. Daher sind SOAP-APIs plattform- und sprachunabhängig.
Entwickler diskutieren weiterhin über die Vor- und Nachteile der Verwendung von SOAP und REST. Der beste für Ihr Projekt wird derjenige sein, der Ihren Anforderungen entspricht.
-
SOAP-APIs bleiben eine Top-Wahl für Unternehmens- und Regierungsorganisationen, die Sicherheit priorisieren, auch wenn REST den Bereich der Webanwendungen weitgehend dominiert hat.
-
SOAP ist sicherer als REST, da es WS-Security für die Übertragung zusammen mit Secure-Socket-Layer verwendet.
-
SOAP bietet auch eine bessere Transaktionssicherheit, was ein weiterer Grund dafür ist, warum SOAP historisch gesehen von der Bankenindustrie und anderen großen Unternehmen bevorzugt wurde.