Middle
Quali sono i principi di REST?
sobes.tech AI
Risposta dell'AI
Esistono i seguenti principi di REST:
- Architettura Client-Server: Separazione delle responsabilità tra client (consumatore del servizio) e server (fornitore del servizio). Favorisce la portabilità del codice client e la scalabilità del server.
- Senza stato (Stateless): Ogni richiesta dal client al server deve contenere tutte le informazioni necessarie affinché il server possa processarla. Il server non memorizza lo stato del client tra le richieste.
- Cacheabile: Il server può indicare esplicitamente se i dati possono essere memorizzati nella cache dal client o da livelli intermedi. Questo migliora le prestazioni e la scalabilità.
- Interfaccia uniforme: La più importante, che include quattro sotto-principi:
- Identificazione delle risorse: Le risorse sono identificate da URI unici.
- Manipolazione delle risorse tramite rappresentazioni: Il client interagisce con le risorse ottenendo le loro rappresentazioni (ad esempio, in formato JSON o XML) e inviando nuove rappresentazioni per modificare lo stato della risorsa.
- Messaggi auto-descrittivi: Ogni messaggio contiene abbastanza informazioni affinché il destinatario possa capire come processarlo. Si utilizzano intestazioni HTTP standard.
- Hypermedia come motore dello stato dell'applicazione (HATEOAS): Il client deve trovare informazioni sulle azioni disponibili e sui possibili transizioni tra gli stati dell'applicazione a partire da link ipermediali incorporati nelle rappresentazioni delle risorse.
- Sistema a livelli: Il sistema può essere organizzato con livelli intermedi (ad esempio, proxy, cache, gateway) attraverso i quali passano le richieste e le risposte. Il client non sa se comunica direttamente con il server finale o tramite livelli intermedi.
- Codice su richiesta (Code on Demand - opzionale): Il server può estendere temporaneamente la funzionalità del client trasmettendo codice eseguibile (ad esempio, JavaScript). Questo principio è opzionale per la conformità a REST.