Se lavori con la tecnologia, il marketing digitale o i prodotti, probabilmente hai sentito l'acronimo REST API. È la spina dorsale della moderna Internet. È il modo in cui Instagram comunica con il server, il modo in cui il sito di viaggi cerca i biglietti di varie compagnie aeree e il modo in cui la tua banca approva l'acquisto con carta.
Ma cos’è esattamente il REST? E perché è diventato lo standard globale?
In questo articolo smitizzeremo il concetto tecnico e spiegheremo chiaramente cos'è un'API RESTful.
Cosa significa l'acronimo?
REST sta per Trasferimento statale rappresentativo. Era un concetto creato da Roy Fielding nella sua tesi di dottorato nel 2000.
Non è un software, né una libreria. È uno stile di architettura. Si tratta di un insieme di regole e restrizioni che, se seguite, consentono a diversi sistemi di dialogare tra loro in modo efficiente, scalabile e semplice tramite Internet.
Un'API che segue le regole REST è chiamata RESTful.
Come funziona (l'analogia del web)
REST funziona proprio come la navigazione web che già conosci. Quando accedi a un sito web, tu (Cliente) richiedi una pagina dal Server. Il Server ti dà una "Rappresentazione" di quella risorsa (l'HTML della pagina).
Nell'API REST è lo stesso, ma invece dell'HTML (per la lettura da parte degli esseri umani), utilizziamo JSON (per la lettura delle macchine).
Verbi HTTP (azioni)
REST utilizza metodi di protocollo HTTP standard per definire cosa vuoi fare con i dati:
- OTTIENI: recupera i dati. (Es:
GET /usuarios-> Dammi la lista degli utenti). - POST: crea dati. (Es:
POST /usuarios-> Crea questo nuovo utente). - PUT: aggiorna i dati completi. (Es:
PUT /usuarios/1-> Sostituisci utente 1 con questi dati). - ELIMINA: Elimina i dati. (Es:
DELETE /usuarios/1-> Elimina utente 1).
Questo è intuitivo. Prima di REST, utilizzavamo protocolli complessi (come SOAP) in cui dovevi inventare nomi per tutto (getUserList, createNewUserXml). In REST, l'URL è il sostantivo (/usuarios) e il metodo HTTP è il verbo (GET, POST).
Apolide
Questa è la regola più importante. Il server non memorizza la memoria della tua navigazione passata. Ogni richiesta (richiesta) deve contenere TUTTE le informazioni necessarie per essere elaborata (come ad esempio chi sei, il token di autenticazione, cosa desideri). Ciò consente all'API di essere molto veloce e scalabile, poiché il server non spreca memoria memorizzando "sessioni".
L'anatomia di una chiamata REST
Immagina di voler conoscere la temperatura odierna.
- Endpoint (URL):
https://api.clima.com/v1/previsao - Metodo:
GET - Intestazione:
Authorization: Bearer 12345(La tua carta d'identità). - Corpo: (Vuoto in GET, ma in POST conterrebbe dati).
Risposta del server: il server restituisce un semplice JSON con lo stato dell'operazione ("successo") e i dati richiesti, ad esempio la temperatura di 22 gradi Celsius per la città di Curitiba. È un pacchetto leggero, leggibile in qualsiasi lingua, che l'applicazione deve solo interpretare e visualizzare sullo schermo.
Perché REST ha vinto?
Perché non usiamo altri modi?
- Semplicità: utilizza il protocollo HTTP che già esiste ovunque. Qualsiasi browser o linguaggio di programmazione comprende HTTP.
- Separazione client-server: l'applicazione (frontend) e il server (backend) sono completamente indipendenti. Puoi modificare il design dell'app senza danneggiare il server e viceversa, purché il formato JSON rimanga lo stesso.
- Cache: REST sfrutta la memorizzazione nella cache Web. Se esegui
GET /produtos, il browser o la rete potrebbero salvare la risposta per alcuni minuti, salvando i dati.
Conclusione
L'API REST è la lingua franca di Internet. Comprenderne i principi (Risorse, Verbi HTTP, Stateless) è fondamentale per qualsiasi professionista della tecnologia.
Sebbene le tecnologie più recenti come GraphQL e gRPC stiano guadagnando terreno per casi specifici, REST rimane lo standard di riferimento per il 90% delle integrazioni web grazie alla sua semplicità e robustezza universale.
Leggi anche
- Cos'è l'API Rest: passo dopo passo con esempi
- API REST: cos'è e pratica passo dopo passo
- Automazione su piattaforme digitali: efficienza e scala
- Automazione su piattaforme digitali - Migliori pratiche con casi reali
- Automazione su piattaforme digitali - Guida rapida alle migliori pratiche
- Backend come servizio
