Das ist eigentlich eine sehr breite Frage. Im einfachsten Sinne funktioniert eine Web-API, wenn ein Client (wie ein Webbrowser) eine HTTP-Anfrage an einen Webserver sendet. Der Server prüft diese Anforderung, um herauszufinden, was der Benutzer möchte, und gibt dann Daten in einem bestimmten Format (wie einer Seite) zurück, die der Client dann prüft, um das zu erhalten, was er möchte. Dies sind nur die einzigen Dinge, die Web-APIs gemeinsam haben. Mir ist klar, dass dies Ihre Frage nicht wirklich beantwortet, aber ich wollte einen Grund angeben, warum die Frage so weit gefasst ist.
Es gibt viele Möglichkeiten, wie ein Client seine Anforderung oder eine Antwort eines Servers formatieren kann. Damit dies sinnvoll ist, müssen sich Client und Server auf einige Grundregeln einigen. Im Allgemeinen gibt es heutzutage zwei sehr allgemeine Stile, die für diese Art von Dingen verwendet werden.
Remote Procedure Call (RPC)
In einer API im RPC-Stil gibt es normalerweise nur eine URL für die gesamte API. Sie rufen es auf, indem Sie ein Dokument veröffentlichen, das Informationen zu den gewünschten Aktionen enthält, und der Server gibt das gewünschte Dokument zurück. Im Allgemeinen hat das Anforderungsdokument einen Funktionsnamen und einige Argumente.
Einige Standards für diesen API-Stil umfassen XML-RPC und SOAP. Diese Standards versuchen, ein Format zu erstellen, mit dem Sie die von Ihnen getätigten Funktionsaufrufe oder sogar die gesamte API beschreiben können.
Repräsentative Zustandsübertragung (REST)
In einer API im REST-Stil haben Sie weniger eine URL für die API als einen Namensraum : einen Server oder einen Ordner innerhalb eines Servers, auf dem sich viele verschiedene Objekte befinden, und jede URL in diesem Namespace wird zu einem Teil der API. Anstatt zu sagen Sie den Server , dass Sie die API verwenden möchten, sagt die URL des Servers , was Sie die API verwenden möchten auf . Anschließend verwenden Sie die HTTP-Methode und möglicherweise den Anforderungshauptteil, um zu erklären, was Sie mit diesem Objekt tun möchten : GET (etwas abrufen, das bereits vorhanden ist), POST (etwas Neues erstellen), PUT (etwas ersetzen, das bereits vorhanden ist) oder LÖSCHEN (etwas loswerden, das schon da ist). Es gibt einige andere Verben, die Sie verwenden können, aber diese sind bei weitem am häufigsten.
Bisher habe ich keine Standardformate für REST erwähnt. Theoretisch können Sie nahezu jedes Format verwenden. HTTP bietet bereits die Möglichkeit zu sagen, was Sie tun möchten und wozu Sie es tun möchten. Das Format des Anforderungshauptteils kann also nahezu beliebig sein: eine Darstellung des Objekts, das Sie erstellen oder ersetzen möchten. In der Praxis einigen sich die REST-Autoren jedoch eher auf ein Format, da es schwierig ist, aus jedem möglichen Format einen Sinn zu machen.