Esa es en realidad una pregunta muy amplia. En el sentido más básico, una API web funciona cuando un cliente (como un navegador web) realiza una solicitud HTTP de algún tipo a un servidor web. El servidor examina esa solicitud para averiguar qué quiere el usuario y luego devuelve los datos en algún formato (como una página) que el cliente luego examina para obtener lo que quiere. Estas son casi las únicas cosas que las API web tienen en común; Me doy cuenta de que esto realmente no responde a su pregunta, pero quería dar una razón por la cual la pregunta es tan amplia.
Hay todo tipo de formas en que un cliente podría formatear su solicitud, o que un servidor podría formatear su respuesta, por lo que para que algo tenga sentido, el cliente y el servidor deben acordar algunas reglas básicas. En términos generales, hoy en día hay dos estilos muy generales que se utilizan para este tipo de cosas.
Llamada a procedimiento remoto (RPC)
En una API de estilo RPC, generalmente solo hay una URL para toda la API. Lo llama PUBLICANDO un documento de algún tipo que contiene información sobre lo que desea hacer, y el servidor devuelve el documento que tiene lo que desea. En términos generales de computación, el documento de solicitud generalmente tiene un nombre de función y algunos argumentos.
Algunos estándares para este estilo de API incluyen XML-RPC y SOAP. Estos estándares intentan crear un formato que pueda usarse para describir las llamadas a funciones que está realizando, o incluso para describir toda la API.
Transferencia de estado representativa (REST)
En una API de estilo REST, no tiene tanto una URL para la API como un espacio de nombres : un servidor o una carpeta dentro de un servidor, donde residen muchos objetos diferentes, y cada URL dentro de este espacio de nombres se convierte en parte de la API. En lugar de decirle al servidor que desea utilizar la API, la URL indica al servidor que desea utilizar la API en . Luego, utiliza el método HTTP, y posiblemente el cuerpo de la solicitud, para explicar lo que desea hacer a ese objeto: GET (recuperar algo que ya está allí), POST (crear algo nuevo), PUT (reemplazar algo que ya está allí) o BORRAR (deshacerse de algo que ya está allí). Hay algunos otros verbos que puedes usar, pero estos son, con mucho, los más comunes.
Hasta ahora, no he mencionado formatos estándar para REST. En teoría, podría usar casi cualquier formato. HTTP ya permite decir lo que quiere hacer y para qué quiere hacerlo, por lo que el formato del cuerpo de la solicitud podría ser casi cualquier cosa: alguna representación del objeto que desea crear o reemplazar. Pero en la práctica, los autores REST tienden a acordar un formato de todos modos, porque sería difícil dar sentido a cada formato posible.