SOAP (Simple Object Access Protocol) e REST (REpresentational State Transfer) sono due metodologie standard per lo scambio di dati e la comunicazione tra applicazioni web (API). SOAP è un protocollo rigido basato su XML, ideale per transazioni sicure ed enterprise, mentre REST è uno stile architetturale flessibile, basato su HTTP e spesso JSON, preferito per web, mobile e app moderne.
SOAP supporta solo lo scambio di dati XML. REST supporta XML, JSON, testo normale, HTML. I messaggi SOAP sono più grandi, quindi la comunicazione è più lenta. REST offre prestazioni più veloci grazie ai messaggi più piccoli e al supporto per la memorizzazione della cache.
SOAP è un protocollo utilizzato per l'interscambio di messaggi che, sebbene possa poggiarsi su diversi protocolli di rete (es. JMS), è standardizzato per il solo protocollo http (W3C).
In genere, una richiesta di dati inviata a un'API REST avviene tramite il protocollo HTTP. Una volta ricevuta la richiesta, le API progettate per REST (chiamate API o servizi web RESTful) possono restituire i messaggi in numerosi formati: HTML, XML, testo semplice e JSON.
REST consente l'elaborazione intermedia vincolando i messaggi ad essere auto-descrittivi: l'interazione è priva di stato tra le richieste, i metodi di base ed i tipi di media sono utilizzati per indicare la semantica e scambiare informazioni e le risposte indicano esplicitamente la possibilità di memorizzare nella ...