Eine Anwendungsprogrammierschnittstelle (API) ist eine Möglichkeit für eine Software, die Funktionen einer anderen Software zu nutzen.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Was ist API-Sicherheit?
Sicherheit von Webanwendungen?
Was sind die OWASP Top 10?
Was ist SQL-Injection?
Was ist ein API-Aufruf?
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Eine Anwendungsprogrammierschnittstelle (API) ist ein Satz von Regeln, die es einem Softwareprogramm ermöglichen, Daten an ein anderes Softwareprogramm zu übertragen.
Eine API ist eine „Schnittstelle“, d. h. eine Methode, über die eine Komponente mit einer anderen interagieren kann. Ein Beispiel aus dem Alltag: Ein Geldautomat hat eine Schnittstelle – einen Bildschirm und mehrere Schaltflächen – über die Kunden mit ihrer Bank interagieren und Dienste wie z. B. Bargeld anfordern können. In ähnlicher Weise ist eine API die Art und Weise, wie eine Software mit einem anderen Programm interagiert, um die gewünschten Dienste zu erhalten.
Stellen Sie sich vor, Jennifer baut eine Website, mit der Pendler den Traffic auf den Autobahnen überprüfen können, bevor sie zur Arbeit fahren. Jennifer könnte mit viel Zeit und Geld ein komplexes Highway Tracking System einrichten, das den Nutzern ihrer Website diese Informationen liefert. Aber solche Systeme wurden von anderen Anbietern bereits entwickelt. Anstatt das Rad neu zu erfinden, nutzt Jennifers Website eine API, die von einem externen Highway Tracking Service angeboten wird. Jetzt kann sich Jennifer auf die Entwicklung anderer Aspekte der Website konzentrieren.
Ein API-Aufruf, auch als API-Anfrage bekannt, ist eine an eine API gerichtete Nachricht, die die Verwendung der API auslöst.
Um zu funktionieren, müssen API-Aufrufe in Übereinstimmung mit den Anforderungen der API formatiert werden. Die Anforderungen der API nennt man ihr „Schema“. Das Schema beschreibt auch die Arten von Antworten, die auf jede Anfrage gegeben werden.
Nehmen wir an, ein Pendler informiert sich auf Jennifers Website über den Traffic auf dem Highway 192. Die Website sendet einen API-Aufruf, um diese Informationen bereitzustellen – eine Nachricht mit dem Wortlaut „Highway 192“. Der API-Server des Highway Tracking Service empfängt diese Nachricht und antwortet mit den Fahrzeiten auf dem Highway 192. Stellen Sie sich das Schema der API folgendermaßen vor:
API-Anfrage | API-Antwort |
---|---|
„Highway 192“ | Fahrzeiten auf dem Highway 192 |
„Highway 217“ | Fahrzeiten auf dem Highway 217 |
„Highway 225“ | Fahrzeiten auf dem Highway 225 |
(Beachten Sie, dass dies ein stark vereinfachtes Beispiel ist – echte API-Anfragen, -Antworten und -Schemata sind komplexer).
Nehmen wir nun an, dass Jennifers Website eine API-Anfrage für „Highway ASDFGHJ“ sendet. Dies ist keine gültige Anfrage, da sie nicht dem API-Schema entspricht, das nur die tatsächlichen Namen von Autobahnen zulässt. Der Server kann auf eine solche Anfrage keine brauchbare Antwort geben.
Ein Endpunkt ist das Ende eines Kommunikationskanals. Ein API-Endpunkt ist der Ort, von dem eine API-Antwort ausgeht.
In diesem Beispiel ist der Client der API-Verbindung Jennifers Website und der Endpunkt ist der Server, der die API hostet. Um eine Antwort zu erhalten, müssen Jennifers API-Aufrufe an eine bestimmte URL gehen (eine URL ist eine Webadresse, wie www.cloudflare.com/learning), für die der API-Server verantwortlich ist.
API-Integration ist die Kombination von zwei oder mehr Anwendungen mithilfe von APIs. Durch die API-Integration kann eine Anwendung von den Fähigkeiten einer anderen Anwendung profitieren, so wie die Verbindung eines Vertriebsteams und eines Marketingteams in einem Büro es diesen beiden Teams ermöglicht, zusammenzuarbeiten und von der Arbeit des jeweils anderen zu profitieren. API-Integrationen werden auch häufig für die Synchronisierung von Daten zwischen zwei Anwendungen oder Datenbanken verwendet.
Alles, was mit Computercode zu tun hat, kann eine API haben, von Betriebssystemen bis hin zu Softwarebibliotheken. Eine Web-API ist speziell für die Verwendung durch Webanwendungen gedacht, auf die über das Internet zugegriffen wird.
Web-APIs sind aus dem modernen Internet nicht mehr wegzudenken. Fast alle nutzerorientierten Anwendungen funktionieren nur mit Hilfe von APIs (nicht nur Jennifers Website!). Ganze Softwareentwicklungsphilosophien beruhen auf der Verwendung von APIs – eine dieser Philosophien ist JAMstack, wobei JAM für JavaScript, APIs, Markup steht. Ein weiteres Beispiel ist die Microservices-Architektur, bei der die verschiedenen Funktionen, aus denen eine Anwendung besteht, über APIs aufgerufen werden. Selbst Anwendungen, die ohne diese Ansätze entwickelt wurden, stützen sich in der Regel auf APIs.
SOAP-APIs und REST-APIs beschreiben unterschiedliche Kategorien von APIs.
SOAP (Simple Object Access Protocol) ist eine Art von Protokoll. SOAP-APIs sind APIs, die nur das SOAP-Protokoll verwenden.
REST (Representational State Transfer) ist ein Architekturstil für Webdienste. Eine REST-API ist jede API, die auf der REST-Architektur basiert. Im Gegensatz zu SOAP-APIs funktionieren REST-APIs mit jedem Protokoll. Heute sind die meisten APIs REST-APIs.
Wenn Sie einer Person die Nutzung einer Anwendung gestatten, besteht das Risiko, dass diese Person die Anwendung missbraucht, genauso könnte ein API-Client den Dienst missbrauchen. Hinzu kommt, dass Web-API-Aufrufe über das Internet laufen und wie jede andere Datenübertragung über ein Netzwerk abgefangen, gefälscht oder verändert werden können.
API-Sicherheit ist der Schutz von APIs vor Angriffen und Missbrauch. Da APIs für das moderne Internet so wichtig sind, ist die API-Sicherheit eine zentrale Komponente der Sicherheit von Webanwendungen. Zu den wichtigsten Maßnahmen der API-Sicherheit gehören:
Cloudflare API Gateway enthält diese und andere Sicherheitsmerkmale zum Schutz vor API-Bedrohungen. Mehr Informationen zur API-Sicherheit finden Sie unter Was ist API-Sicherheit?