C'est en fait une question très large. Dans le sens le plus élémentaire, une API Web fonctionne lorsqu'un client (comme un navigateur Web) fait une requête HTTP quelconque à un serveur Web. Le serveur examine cette demande pour comprendre ce que veut l'utilisateur, puis renvoie les données dans un certain format (comme une page) que le client examine ensuite pour obtenir ce qu'il veut. Ce sont à peu près les seules choses que les API Web ont en commun; Je me rends compte que cela ne répond pas vraiment à votre question, mais je voulais expliquer pourquoi la question est si large.
Il existe toutes sortes de façons dont un client peut formater sa demande, ou qu'un serveur puisse formater sa réponse, et donc pour que cela ait du sens, le client et le serveur doivent se mettre d'accord sur certaines règles de base. De manière générale, il existe de nos jours deux styles très généraux qui s'utilisent pour ce genre de chose.
Appel de procédure à distance (RPC)
Dans une API de style RPC, il n'y a généralement qu'une seule URL pour l'ensemble de l'API. Vous l'appelez en POSTANT un document quelconque qui contient des informations sur ce que vous voulez faire, et le serveur renvoie le document qui contient ce que vous voulez. En termes informatiques généraux, le document de demande a généralement un nom de fonction et quelques arguments.
Certaines normes pour ce style d'API incluent XML-RPC et SOAP. Ces normes tentent de créer un format qui peut être utilisé pour décrire les appels de fonction que vous effectuez, ou même pour décrire l'ensemble de l'API.
Transfert d'état représentatif (REST)
Dans une API de style REST, vous n'avez pas tant d'URL pour l'API qu'un espace de noms : un serveur ou un dossier à l'intérieur d'un serveur, où résident de nombreux objets différents, et chaque URL de cet espace de noms fait partie de l'API. Au lieu de dire au serveur que vous souhaitez utiliser l'API, l'URL indique au serveur ce que vous voulez utiliser l'API sur . Vous utilisez ensuite la méthode HTTP, et éventuellement le corps de la demande, pour expliquer ce que vous voulez faire pour cet objet: GET (récupérer quelque chose qui est déjà là), POST (créer quelque chose de nouveau), PUT (remplacer quelque chose qui est déjà là), ou SUPPRIMER (se débarrasser de quelque chose qui est déjà là). Il existe quelques autres verbes que vous pouvez utiliser, mais ceux-ci sont de loin les plus courants.
Jusqu'à présent, je n'ai pas mentionné de formats standard pour REST. En théorie, vous pouvez utiliser n'importe quel format. HTTP prévoit déjà de dire ce que vous voulez faire et ce que vous voulez faire, de sorte que le format du corps de la demande pourrait être à peu près n'importe quoi: une représentation de l'objet que vous souhaitez créer ou remplacer. Mais dans la pratique, les auteurs REST ont tendance à s'entendre sur un format de toute façon, car il serait difficile de donner un sens à tous les formats possibles.