Questa è in realtà una domanda molto ampia. Nel senso più semplice, un'API Web funziona quando un client (come un browser Web) effettua una richiesta HTTP di qualche tipo su un server Web. Il server esamina la richiesta per capire cosa vuole l'utente, quindi restituisce i dati in un formato (come una pagina) che il cliente esamina per ottenere ciò che desidera. Queste sono solo le uniche cose che le API Web hanno in comune; Mi rendo conto che questo non risponde alla tua domanda, ma volevo dare una ragione per cui la domanda è così ampia.
Ci sono tutti i modi in cui un client può formattare la sua richiesta, o che un server può formattare la sua risposta, e così per avere un senso, il client e il server devono concordare alcune regole di base. In generale, al giorno d'oggi ci sono due stili molto generali che vengono usati per questo genere di cose.
Remote Procedure Call (RPC)
In un'API in stile RPC, di solito c'è solo un URL per l'intera API. Si chiama POST di un documento di qualche tipo che contiene informazioni su ciò che si vuole fare e il server restituisce il documento che ha ciò che si desidera. In termini di calcolo generale, il documento di richiesta ha in genere un nome di funzione e alcuni argomenti.
Alcuni standard per questo tipo di API includono XML-RPC e SOAP. Questi standard tentano di creare un formato che può essere utilizzato per descrivere le chiamate di funzione che stai facendo o anche per descrivere l'intera API.
Trasferimento stato rappresentativo (REST)
In un'API in stile REST, non hai così tanto un URL per l'API come spazio dei nomi : un server o una cartella all'interno di un server, dove molti oggetti diversi risiedono e ogni URL all'interno di questo spazio dei nomi diventa parte dell'API. Piuttosto che dire al server che vuoi usare l'API, l'URL dice al server che cosa vuoi usare l'API su . Quindi usi il metodo HTTP, e possibilmente il corpo della richiesta, per spiegare cosa vuoi fare a quell'oggetto: GET (recupera qualcosa che è già lì), POST (crea qualcosa di nuovo), PUT (sostituisci qualcosa che è già lì), o DELETE (sbarazzarsi di qualcosa che è già lì). Ci sono alcuni altri verbi che puoi usare, ma quelli sono di gran lunga i più comuni.
Finora, non ho menzionato i formati standard per REST. In teoria, potresti usare praticamente qualsiasi formato. HTTP già prevede di dire cosa vuoi fare e cosa vuoi fare, quindi il formato del corpo della richiesta potrebbe essere qualsiasi cosa: qualche rappresentazione dell'oggetto che vuoi creare o sostituire. Ma in pratica, gli autori REST tendono ad accordarsi su un formato in ogni caso, perché sarebbe difficile dare un senso a ogni possibile formato.