REST
È l'acronimo di "Representational State Transfer".
REST è un insieme definito di standard per trasferire risorse sul web. Il metodo REST viene comunemente applicato alle API ("API REST"), che consentono agli sviluppatori di accedere ai dati di sistemi remoti tramite Internet.
REST definisce sei vincoli architetturali:
- Modello client-server – un server elabora le richieste dei client, che possono accedere solo ai dati richiesti dal server
- Senza stato – le richieste sono transitorie e nessun dato del client viene memorizzato sul server
- Memorizzabile nella cache – le richieste possono essere memorizzate nella cache per migliorare le prestazioni
- Interfaccia uniforme – l'accesso ai dati deve essere coerente per tutti gli utenti e i sistemi
- Supporto per sistemi a più livelli – le richieste possono essere elaborate gerarchicamente e instradate attraverso più sistemi
- Codice su richiesta (facoltativo) – i server possono fornire codice eseguibile ai sistemi client
REST e SOAP
REST viene spesso confrontato con SOAP, un altro insieme di standard per trasferire dati tramite Internet. Tuttavia, REST è semplicemente uno stile di progettazione, mentre SOAP è un vero e proprio protocollo con regole e comandi specifici. Sia le API REST sia quelle SOAP trasmettono dati tramite HTTP, ma SOAP è limitato ai dati XML, mentre REST è più flessibile.
Poiché SOAP è un protocollo ufficiale, tutti i messaggi inviati tramite SOAP devono usare lo stesso formato di "busta", con un intestazione e un corpo. REST, nato dopo SOAP, presenta meno vincoli ed è spesso considerato un'alternativa leggera a SOAP.
NOTE: Le API conformi alle linee guida REST sono tecnicamente chiamate "API RESTful", ma molti sviluppatori le chiamano invece "API REST".
Metti alla prova le tue conoscenze