Significato e differenza tra Stateless e Stateful in informatica

Significato e differenza tra Stateless e Stateful in informatica

Un server senza stati (Stateless Server) è un server che tratta ogni richiesta come una transazione indipendente scorrelata da ogni precedente richiesta. Il vantaggio più grande di questa proprietà è che semplifica di molto la progettazione del server, perchè esso non ha bisogno nè di tenere in relazione transazioni diverse, nè di allocare dinamicamente un’area di memoria dedicata o di preoccuparsi di liberare lo spazio allocato se il client s’interrompe nel mezzo della transazione. Ovviamente ci sono anche degli svantaggi, quali:

  • dover includere un quantitativo di informazioni maggiore per ogni richiesta;
  • il server deve ogni volta interpretare tutte le informazioni.

Un esempio di un server senza stati è un server del World Wide Web (fatta eccezione dei cookies): questi prendono come input la richiesta (URL) che specifica completamente il documento richiesto e non hanno bisogno di nessun contesto particolare o memoria allocata durante una precedente richiesta. Questo tipo di server contrasta con un tradizionale server FTP, che gestisce una sessione interattiva con l’utente. Nel caso di una richiesta per un file che si trova sul server FTP, si assume che l’utente si sia precedentemente autenticato e che la directory corrente e la modalità di trasferimento del file siano già state definite. Un server con stati (Stateful Server) ha una tabella che permette di registrare in modo incrementale le informazioni e lo stato delle interazioni in corso con i client, incluse le risposte ad ogni richiesta, in modo che il server possa tener traccia di tutte le richieste effettuate dal client. Il vantaggio di un server con stati è che i messaggi scambiati sono di dimensioni minori e che sono trattati in modo più efficiente. Alcuni svantaggi sono invece dovuti ai possibili problemi che il client incontra: nel caso in cui questo incorra in interruzioni ripetute e frequenti, la grande quantità di informazioni che devono essere gestite dal server possono peggiorare le prestazioni di quest’ultimo. L’esempio migliore di un server con stati è un File Server remoto.

Significato e differenza tra Stateless e Stateful in informatica

Stateless vs Stateful Server

Confrontando da un punto di vista analitico i server con e senza stati possiamo notare che:

  • Un server con stati tiene traccia dei dati del client (dati) fra una richiesta e la successiva.
  • Un server senza stati non mantiene nessuna informazione sullo stato; ad esempio, usando un File Server che non mantenga gli stati, per ogni richiesta il client devrebbe indicare il nome completo del file, specificando dove leggere e scrivere, riautenticandosi ad ogni richiesta.
  • Usando un File Server con stati il client pùo inviare meno informazioni per ogni richiesta, diventando così il modello più semplice.

D’altro canto, un server senza stati è più robusto e ad esempio:

  • le connessioni perse non lasciano un file in uno stato invalido;
  • riavviando il server non viene persa nessuna informazione;
  • un riavvio del client non causa nessuna confusione in un server senza stati.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *