APIs ermöglichen Anwendungen den Austausch von Informationen durch das Senden und Empfangen von API-Aufrufen.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Anwendungsprogrammierschnittstellen (APIs) ermöglichen es Softwareprogrammen, miteinander zu kommunizieren, indem sie API-Aufrufe oder Anfragen nach Informationen senden und empfangen. Diese Anfragen werden von einem API-Client initiiert und von einem API-Endpunkt angenommen.
Um Informationen zwischen APIs auszutauschen, müssen Entwickler eine API-Dokumentation bereitstellen, in der die Arten von Anfragen, die eine API akzeptieren kann, die Anwendungsfälle, die sie unterstützen soll, und alle anderen Bedingungen (z. B. Protokolle, Schemata und Sicherheitsanforderungen), die von Dritten zu befolgen sind.
Durch API-Aufrufe können APIs Funktionen gemeinsam nutzen, ohne dass Entwickler die Funktionen für jede einzelne Anwendung von Grund auf neu schreiben müssen. Ohne sie wären Entwickler nicht in der Lage, Funktionen problemlos über mehrere Anwendungen hinweg zu replizieren oder Daten von anderen Anwendungen, Diensten und Anbietern abzufragen.
Eine API ist eine Schnittstelle, die es Softwareprogrammen ermöglicht, Daten und Funktionen gemeinsam zu nutzen. Diese Kommunikationsmethode trägt dazu bei, die Funktionalitäten der meisten modernen Webanwendungen zu verbessern.
Stellen Sie sich zum Beispiel vor, Alice entwickelt eine Anwendung, die Wiedergabelisten mit klassischer Musik an die Stimmungen der Hörer anpasst. Anstatt Tausende von Titeln manuell einzugeben, um diese Wiedergabelisten aufzufüllen, kann sie eine API verwenden, die eine Verbindung zu einem externen Musikspeicher herstellt - und so Zeit, Geld und Entwicklungsaufwand sparen.
Die Anwendungsfälle für APIs sind nahezu unbegrenzt. Sie verbinden mit Cloud-Diensten, fragen Datenbanken ab, aktualisieren automatisch mobile Anwendungen, streamen Inhalte auf mehrere Geräte, fassen Flugpreise und Lieferoptionen für Lebensmittel zusammen und vieles mehr.
Ein API-Client, manchmal auch "Benutzer" genannt, ist die Software, die einen API-Aufruf initiiert.
Bevor er mit einem API-Endpunkt interagieren kann, muss ein API-Client seine Identität verifizieren. Dadurch wird verhindert, dass Angreifer APIs ausnutzen, um verteilte Denial-of-Service-Angriffe (DDoS) oder andere böswillige Aktionen durchzuführen.
Die Authentifizierung erfolgt in der Regel über eine von vier Methoden: eine eindeutige Zeichenfolge (API-Schlüssel), eine Kombination aus Benutzername und Passwort, ein OAuth-Token oder mutual TLS. Die Verwendung einer starken Authentifizierungsmethode ist eine der Möglichkeiten, mit denen Entwickler ihre API vor Angriffen schützen können. (Erfahren Sie mehr über API-Sicherheit.)
Ein API-Endpunkt nimmt den API-Aufruf entgegen und gibt die angeforderten Informationen zurück.
Sowohl API-Clients als auch Endpunkte beziehen sich auf Softwareprogramme, die auf Servern gehostet werden, und nicht auf diskrete Hardwaregeräte. API-Server können mehrere Endpunkte beherbergen, denen jeweils ein einheitlicher Ressourcenbezeichner (URI) zugewiesen wird, mit dem sie von einem API-Client gefunden werden können. In den meisten Fällen handelt es sich bei diesem URI um einen Uniform Resource Locator (URL), der auf internetbasierte Orte (z. B. eine Website) verweist.
Bei einem API-Schema handelt es sich um Metadaten, die die Spezifikationen definieren, die eine API-Anfrage erfüllen muss, um als gültig zu gelten. Diese Spezifikationen können Details wie den Zielendpunkt, die HTTP-Methode und andere von den Entwicklern festgelegte Anforderungen enthalten.
Wenn ein API-Aufruf von einem Client gesendet wird, muss er die im Schema beschriebenen Bedingungen erfüllen. Nur dann kann ein API-Endpunkt die angeforderten Informationen zurückgeben. Stellen Sie sich vor, Bob plant eine Party, um die Situation zu verdeutlichen. Auf der Einladung steht, dass nur Gäste, die gelbe Gänseblümchen mitbringen, nach der Party eine Dankeskarte erhalten. Wenn Carol jedoch beschließt, rote Rosen zu der Party mitzubringen, wird sie danach keine Dankeskarte erhalten.
Ebenso erhält ein API-Aufruf, der nicht die im API-Schema festgelegten Anforderungen erfüllt, keine Antwort.
Wie die APIs selbst variieren auch die API-Aufrufe je nach den in der API-Dokumentation dargelegten Spezifikationen. Im Allgemeinen folgt ein API-Aufruf jedoch drei grundlegenden Schritten:
Eine ausführlichere Erklärung von API-Aufrufen finden Sie unter Was ist ein API-Aufruf?
APIs werden von mehreren verschiedenen Protokollen unterstützt. Ein Protokoll ist eine Methode zur Kommunikation über ein Netzwerk; es teilt der API mit, wie Anfragen und Antworten zu formatieren sind. Welche Art von API-Protokoll verwendet wird, hängt von dem Zweck ab, für den die API entwickelt wurde, den Anwendungsfällen, denen sie dient, und den Einschränkungen, die sie mit sich bringt.
Die beiden gebräuchlichsten API-Protokolle sind Simple Object Access Protocol (SOAP) und Remote Procedural Call (RPC). Representational State Transfer (REST) ist eine Softwarearchitektur, die oft mit diesen Protokollen verglichen wird.
SOAP bietet eine standardisierte Methode zum Senden und Empfangen von Aufrufen zwischen APIs, die verschiedene Betriebssysteme und Architekturen verwenden. Es ist auch kompatibel mit dem Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP)und anderen Protokollen der Anwendungsschicht. Es kann nur Daten an API-Clients zurückgeben, die eine erweiterbare Auszeichnungssprache (XML) verwenden.
RPC ist eine der einfachsten und ältesten Methoden der Kommunikation zwischen APIs. Es funktioniert, indem ein prozeduraler Fernaufrufinitiiert wird, bei dem ein Client eine Funktion von einem entfernten Server anfordert. Der Hauptunterschied zwischen RPC und SOAP/REST besteht darin, dass RPC die Durchführung bestimmter Aktionen (oder Funktionen) unterstützt, während SOAP/REST zum Abrufen von Ressourcen (oder Daten) verwendet wird.
REST bezieht sich auf eine REST-Architektur, die teilweise vorschreibt, wie API-Aufrufe zu formatieren sind. Einfach ausgedrückt, ermöglicht REST einem Client, Ressourcen von einem Server anzufordern, der die Informationen in seinem aktuellen Zustand an den Client zurückgibt. REST-APIs verwenden häufig das HTTP-Protokoll zur Formatierung von Anfragen und Antworten, sind aber auch mit dem FTP-, SMTP- und anderen Protokoll kompatibel. Sie können Daten in verschiedenen Formaten an API-Clients zurückgeben, darunter XML, JavaScript Object Notation (JSON) und Hypertext Markup Language (HTML).
Wie alles, was mit einem Netz verbunden ist, sind auch APIs anfällig für Ausbeutung und Missbrauch. Zu den üblichen API-Angriffen gehören die folgenden:
Cloudflare API Gateway hilft, diese Angriffe abzuschwächen, indem es eine starke Authentifizierung bietet, Payloads auf sensible Daten scannt, API-Schemata validiert und API-Missbrauch erkennt und verhindert. Erfahren Sie mehr über Cloudflare API Gateway.