Sobes.tech
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.