Questa è in realtà una domanda molto ampia. Nel senso più elementare, un'API Web funziona quando un client (come un browser Web) invia una richiesta HTTP di qualche tipo a un server Web. Il server esamina quella richiesta per capire cosa desidera l'utente, quindi restituisce i dati in un formato (come una pagina) che il client 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 davvero alla tua domanda, ma volevo dare una ragione per cui la domanda è così ampia.
Esistono molti modi in cui un client può formattare la sua richiesta o che un server può formattare la sua risposta, e quindi, affinché uno di essi abbia 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 utilizzati per questo genere di cose.
Chiamata di procedura remota (RPC)
In un'API in stile RPC, di solito c'è solo un URL per l'intera API. Lo chiami POSTANDO un documento di qualche tipo che contiene informazioni su ciò che vuoi fare e il server restituisce il documento che ha ciò che desideri. In termini generali di calcolo, il documento di richiesta in genere ha un nome di funzione e alcuni argomenti.
Alcuni standard per questo stile 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 effettuando o anche per descrivere l'intera API.
Trasferimento di 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, in cui risiedono molti oggetti diversi e ogni URL all'interno di questo spazio dei nomi diventa parte dell'API. Invece di dire il server che si desidera utilizzare l'API, l'URL indica al server ciò che si desidera utilizzare 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 ELIMINA (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 prevede già di dire cosa vuoi fare e a cosa vuoi farlo, quindi il formato del corpo della richiesta potrebbe essere praticamente qualsiasi cosa: una rappresentazione dell'oggetto che vuoi creare o sostituire. Ma in pratica, gli autori di REST tendono comunque ad accordarsi su un formato, perché sarebbe difficile dare un senso a ogni formato possibile.