REST = Trasferimento rappresentativo dello stato
REST è un insieme di regole che, se seguito, consente di creare un'applicazione distribuita con un insieme specifico di vincoli desiderabili.
REST è un protocollo per lo scambio di eventuali messaggi (XML, JSON ecc.) Che possono utilizzare HTTP per trasportare tali messaggi.
Caratteristiche:
È senza stato, il che significa che idealmente nessuna connessione dovrebbe essere mantenuta tra il client e il server. È responsabilità del client passare il suo contesto al server e quindi il server può memorizzare questo contesto per elaborare l'ulteriore richiesta del client. Ad esempio, la sessione gestita dal server è identificata dall'identificatore di sessione passato dal client.
Vantaggi dell'apolidia:
- I servizi Web possono trattare le chiamate di ciascun metodo separatamente.
- I servizi Web non devono necessariamente mantenere l'interazione precedente del client.
- Questo a sua volta semplifica la progettazione dell'applicazione.
- HTTP è esso stesso un protocollo senza stato a differenza di TCP e quindi RESTful Web Services funziona perfettamente con i protocolli HTTP.
Svantaggi dell'apolidia:
- Un livello aggiuntivo sotto forma di intestazione deve essere aggiunto a ogni richiesta per preservare lo stato del cliente.
- Per motivi di sicurezza, è necessario aggiungere un'intestazione a ogni richiesta.
Metodi HTTP supportati da REST:
OTTIENI: / string / someotherstring È idempotente e dovrebbe idealmente restituire gli stessi risultati ogni volta che viene effettuata una chiamata
PUT: Come GET. Idempotente e viene utilizzato per aggiornare le risorse.
POST: dovrebbe contenere un url e un body utilizzati per la creazione di risorse. Le chiamate multiple dovrebbero idealmente restituire risultati diversi e dovrebbero creare più prodotti.
ELIMINA: utilizzato per eliminare risorse sul server.
TESTA:
Il metodo HEAD è identico a GET, tranne per il fatto che il server NON DEVE restituire un corpo di messaggio nella risposta. Le meta informazioni contenute nelle intestazioni HTTP in risposta a una richiesta HEAD DOVREBBERO essere identiche alle informazioni inviate in risposta a una richiesta GET.
OPZIONI:
Questo metodo consente al client di determinare le opzioni e / o i requisiti associati a una risorsa o le capacità di un server, senza implicare un'azione di risorse o avviare un recupero delle risorse.
Risposte HTTP
Vai qui per tutte le risposte .
Eccone alcuni importanti: 200 - OK 3XX - Informazioni aggiuntive necessarie dal client e reindirizzamento dell'URL 400 - Richiesta
errata 401 - Non autorizzato ad accedere
403 - Proibito
La richiesta era valida, ma il server rifiuta l'azione. L'utente potrebbe non disporre delle autorizzazioni necessarie per una risorsa o potrebbe essere necessario un account di qualche tipo.
404 - Non trovato
La risorsa richiesta non è stata trovata ma potrebbe essere disponibile in futuro. Sono consentite richieste successive da parte del cliente.
405 - Metodo non consentito Un metodo di richiesta non è supportato per la risorsa richiesta; ad esempio, una richiesta GET su un modulo che richiede la presentazione di dati tramite POST o una richiesta PUT su una risorsa di sola lettura.
404 - Richiesta non trovata
500 - Errore interno del server
502 - Errore gateway non valido