API steht für Application Programming Interface und ist im Grunde ein Weg über den verschiedene Softwarekomponenten miteinander kommunizieren können. Je nach API werden dabei verschiedene Protokolle und Datenformate verwendet. APIs sind in der Regel für Entwickler gedacht, um diesem strukturiert Zugriff auf bestimmte Funktionen oder Daten zu ermöglichen.
Grundlegende Funktionsweise einer API
Das ist schnell erklärt - in der Regel wird das Client-Server-Modell verwendet. Hierbei stellt der Client (eine Software, ein Entwickler) eine Anfrage in wohl definiertem Format an den Server. Dieser antwortet mit den angeforderten Daten oder führt bestimmte Aktionen aus.
Welche Arten von API gibt es?
SOAP
SOAP steht für Simple Object Access Protocol. Hierbei werden die Daten zwischen Sender und Empfänger im XML-Format ausgetauscht. Es ist einfach und strukturiert.
RPC
RPC wurde dafür konzipiert definierte komplexe Prozeduren auf entfernten Servern bzw. Systemen auszuführen. Man sieht es recht selten und wenn dann hat es einen sehr guten Grund, da es in der Regel hochperformant ist.
WebSocket
WebSocket erlaubt die bidirektionale Kommunikation zwischen Client und Server. Das ist besonders für Echtzeit-Anwendungen interessant.
REST
Bei REST handelt es sich um das vermutlich am häufigsten verwendete API-Protokoll. Es ist einfach, flexibel und wird in der Regel für Webanwendungen verwendet. Mittel HTTP können hierbei Daten ausgetauscht werden.
Anwendungebeispiele für API
API werden in wahnsinnig vielen Dingen verwendet, ohne, dass wir es mitbekommen. Unsere Fernseher, Smartphones und Apps kommunzieren mit diversen API um an bestimmte Daten zu kommen. Jede Wetter-App greift auf die API von Wetterdiensten zu, um aktuelle Daten bereit zu stellen. Auch die Anbindung von Zahlungsdienstleistern wie PayPal oder Stripe erfolgt über API.
Immer mehr Big Data-Unternehmen bieten ihre Daten über API an. Dahinter verbirgt sich oft ein Bezahlmodell, bei dem die Nutzer für den strukturierten Zugang zu speziellen Daten monatlich bezahlen. Beispiele hierfür wären Unternehmen, wie SecurityTrails, Shodan oder auch ZoomEye.
Wie werden API dokumentiert?
Bei REST API wird in der Regel Swagger oder OpenAPI verwendet. Hierbei wird die API in einem JSON-Format dokumentiert. Diese Art von Format lässt sich zum einen ebenfalls einfach lesen und verstehen sowie automatisiert in andere Tools einlesen. Je nachdem welches Framework als Grundlage für die API verwendet wird, besteht die Möglichkeit, dass die Dokumentation automatisch generiert wird.
API Sicherheit
API sind ein beliebtes Angriffsziel. Umso wichtiger ist eine sichere Konfiguration und Implementierung. Hierbei sollte vor allem auf das Thema Authentifizierung und Autorisierung geachtet werden. Auch die Datenübertragung sollte verschlüsselt erfolgen. Ein einfacher Weg der Authentifizierung ist die Verwendung von API-Keys. Regelmäßige API-Penetrationstests sind ebenfalls empfehlenswert.
Vielen Dank für dein Feedback! Wir werden es prüfen und unseren Artikel anpassen.