View a markdown version of this page

Che cos'è REST? - AWS AppSync GraphQL

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Che cos'è REST?

Ad alto livello, Representational State Transfer (REST) è un'architettura software che impone condizioni sul funzionamento di un'API. REST è stato inizialmente creato come linea guida per gestire le comunicazioni su una rete complessa come Internet. È possibile utilizzare l' REST-based architettura per supportare comunicazioni affidabili e ad alte prestazioni su larga scala. Puoi implementarlo e modificarlo facilmente, conferendo visibilità e portabilità multipiattaforma a qualsiasi sistema API.

Gli sviluppatori di API possono progettare API utilizzando diverse architetture. Le API che seguono lo stile architetturale REST sono denominate API REST. I servizi Web che implementano l'architettura REST sono denominati servizi Web RESTful. Il termine API RESTful si riferisce generalmente alle API web RESTful. Tuttavia, è possibile utilizzare i termini API REST e API RESTful in modo intercambiabile.

Di seguito sono riportati alcuni dei principi dello stile architettonico REST:

Interfaccia uniforme

L'interfaccia uniforme è fondamentale per la progettazione di qualsiasi servizio web RESTful. Indica che il server trasferisce le informazioni in un formato standard. La risorsa formattata è chiamata rappresentazione in REST. Questo formato può essere diverso dalla rappresentazione interna della risorsa nell'applicazione server. Ad esempio, il server può memorizzare i dati come testo ma inviarli in un formato di rappresentazione HTML.

L'interfaccia uniforme impone quattro vincoli architettonici:

  1. Le richieste devono identificare le risorse. Lo fanno utilizzando un identificatore di risorsa uniforme.

  2. I client dispongono di informazioni sufficienti nella rappresentazione delle risorse per modificare o eliminare la risorsa, se lo desiderano. Il server soddisfa questa condizione inviando metadati che descrivono ulteriormente la risorsa.

  3. I clienti ricevono informazioni su come elaborare ulteriormente la rappresentazione. Il server ottiene questo risultato inviando messaggi autodescrittivi contenenti metadati su come il client può utilizzarli al meglio.

  4. I clienti ricevono informazioni su tutte le altre risorse correlate di cui hanno bisogno per completare un'attività. Il server ottiene questo risultato inviando collegamenti ipertestuali nella rappresentazione in modo che i client possano scoprire dinamicamente più risorse.

Apolidia

Nell'architettura REST, lo statelessness si riferisce a un metodo di comunicazione in cui il server completa ogni richiesta del client indipendentemente da tutte le richieste precedenti. I client possono richiedere risorse in qualsiasi ordine e ogni richiesta è stateless o isolata dalle altre richieste. Questo vincolo di progettazione dell'API REST implica che il server possa comprendere e soddisfare completamente la richiesta ogni volta.

Sistema a più livelli

In un'architettura di sistema a più livelli, il client può connettersi ad altri intermediari autorizzati tra client e server e riceverà comunque risposte dal server. I server possono anche trasmettere le richieste ad altri server. Puoi progettare il tuo servizio web RESTful in modo che funzioni su più server con più livelli come sicurezza, applicazione e logica aziendale, lavorando insieme per soddisfare le richieste dei clienti. Questi livelli rimangono invisibili al cliente.

Capacità di memorizzazione nella cache

I servizi web RESTful supportano il caching, che è il processo di memorizzazione di alcune risposte sul client o su un intermediario per migliorare i tempi di risposta del server. Ad esempio, supponiamo di visitare un sito Web con immagini di intestazione e piè di pagina comuni in ogni pagina. Ogni volta che visiti una nuova pagina del sito Web, il server deve inviare nuovamente le stesse immagini. Per evitare ciò, il client memorizza nella cache o memorizza queste immagini dopo la prima risposta e quindi utilizza le immagini direttamente dalla cache. I servizi Web RESTful controllano la memorizzazione nella cache utilizzando risposte API che si definiscono memorizzabili nella cache o non memorizzabili nella cache.

Cos'è un'API RESTful?

L'API RESTful è un'interfaccia utilizzata da due sistemi informatici per scambiare informazioni in modo sicuro su Internet. La maggior parte delle applicazioni aziendali deve comunicare con altre applicazioni interne e di terze parti per eseguire varie attività. Ad esempio, per generare buste paga mensili, il sistema contabile interno deve condividere i dati con il sistema bancario del cliente per automatizzare la fatturazione e comunicare con un'applicazione interna per la scheda attività. Le API RESTful supportano questo scambio di informazioni perché seguono standard di comunicazione software sicuri, affidabili ed efficienti.

Come funzionano le API RESTful?

La funzione di base di un'API RESTful è la stessa della navigazione in Internet. Il client contatta il server utilizzando l'API quando richiede una risorsa. Gli sviluppatori di API spiegano come il client deve utilizzare l'API REST nella documentazione dell'API dell'applicazione server. Questi sono i passaggi generali per qualsiasi chiamata all'API REST:

  1. Il client invia una richiesta al server. Il client segue la documentazione dell'API per formattare la richiesta in modo comprensibile al server.

  2. Il server autentica il client e conferma che il client ha il diritto di effettuare tale richiesta.

  3. Il server riceve la richiesta e la elabora internamente.

  4. Il server restituisce una risposta al client. La risposta contiene informazioni che indicano al client se la richiesta è andata a buon fine. La risposta include anche tutte le informazioni richieste dal cliente.

I dettagli della richiesta e della risposta dell'API REST variano leggermente a seconda di come gli sviluppatori dell'API progettano l'API.