Nell’interazione uomo-computer, la gestione delle sessioni è il processo di tenere traccia dell’attività di un utente attraverso le sessioni di interazione con il sistema informatico.
I compiti tipici della gestione delle sessioni in un ambiente desktop includono il tenere traccia di quali applicazioni sono aperte e quali documenti ogni applicazione ha aperto, in modo che lo stesso stato possa essere ripristinato quando l’utente si disconnette e accede successivamente. Per un sito web, la gestione della sessione potrebbe comportare la richiesta all’utente di effettuare nuovamente il login se la sessione è scaduta (cioè, è passato un certo limite di tempo senza che l’utente abbia svolto attività). Viene anche utilizzato per memorizzare informazioni sul lato server tra le richieste HTTP.
Gestione delle sessioni desktopModifica
Un gestore di sessioni desktop è un programma che può salvare e ripristinare le sessioni desktop. Una sessione desktop è costituita da tutte le finestre attualmente in esecuzione e dal loro contenuto attuale. La gestione delle sessioni sui sistemi basati su Linux è fornita da X session manager. Sui sistemi Microsoft Windows, la gestione delle sessioni è fornita dal Session Manager Subsystem (smss.exe); la funzionalità delle sessioni utente può essere estesa da applicazioni di terze parti come twinsplay.
Gestione delle sessioni del browserModifica
La gestione delle sessioni è particolarmente utile in un browser web dove un utente può salvare tutte le pagine e le impostazioni aperte e ripristinarle in una data successiva o su un computer diverso (vedi portabilità dei dati).
Per aiutare il recupero da un crash del sistema o dell’applicazione, pagine e impostazioni possono anche essere ripristinate alla prossima esecuzione. Google Chrome, Mozilla Firefox, Internet Explorer, OmniWeb e Opera sono esempi di browser web che supportano la gestione delle sessioni. La gestione della sessione è spesso gestita attraverso l’applicazione di cookie.
Gestione della sessione del server webModifica
Hypertext Transfer Protocol (HTTP) è senza stato: un computer client che esegue un browser web deve stabilire una nuova connessione di rete Transmission Control Protocol (TCP) al server web con ogni nuova richiesta HTTP GET o POST. Il server web, quindi, non può contare su una connessione di rete TCP stabilita per più di una singola operazione HTTP GET o POST. La gestione della sessione è la tecnica usata dallo sviluppatore web per far sì che il protocollo HTTP senza stato supporti lo stato della sessione. Per esempio, una volta che un utente è stato autenticato al server web, la prossima richiesta HTTP dell’utente (GET o POST) non dovrebbe indurre il server web a chiedere nuovamente l’account e la password dell’utente. Per una discussione sui metodi usati per ottenere questo risultato vedere Cookie HTTP e Session ID
In situazioni in cui più server web devono condividere la conoscenza dello stato della sessione (come è tipico in un ambiente cluster) le informazioni sulla sessione devono essere condivise tra i nodi del cluster che stanno eseguendo il software del server web. I metodi per condividere lo stato della sessione tra i nodi in un cluster includono: multicasting delle informazioni di sessione ai nodi membri (vedi JGroups per un esempio di questa tecnica), condivisione delle informazioni di sessione con un nodo partner usando la memoria condivisa distribuita o la virtualizzazione della memoria, condivisione delle informazioni di sessione tra i nodi usando i socket di rete, memorizzazione delle informazioni di sessione su un file system condiviso come un file system distribuito o un file system globale, o memorizzazione delle informazioni di sessione fuori dal cluster in un database.
Se le informazioni di sessione sono considerate transitorie, dati volatili che non sono richiesti per il non-ripudio delle transazioni e non contengono dati che sono soggetti a verifiche di conformità (negli Stati Uniti, per esempio, si veda l’Health Insurance Portability and Accountability Act e il Sarbanes-Oxley Act per esempi di due leggi che necessitano di verifiche di conformità) allora può essere utilizzato qualsiasi metodo di memorizzazione delle informazioni di sessione. Tuttavia, se le informazioni di sessione sono soggette a controllo di conformità, si dovrebbe considerare il metodo utilizzato per la memorizzazione delle sessioni, la replica e il clustering.
In un’architettura orientata ai servizi, i messaggi Simple Object Access Protocol o SOAP costruiti con messaggi XML (Extensible Markup Language) possono essere utilizzati dalle applicazioni consumer per indurre i server web a creare sessioni.
Gestione della sessione su SMSEdit
Come HTTP è un protocollo senza stato, così lo è SMS. Quando gli SMS sono diventati interoperabili tra le reti rivali nel 1999, e la messaggistica di testo ha iniziato la sua ascesa per diventare una forma di comunicazione globale onnipresente, varie imprese si sono interessate a utilizzare il canale SMS per scopi commerciali. I servizi iniziali non richiedevano la gestione delle sessioni poiché erano solo comunicazioni a senso unico (per esempio, nel 2000, il primo servizio di notizie mobili è stato fornito via SMS in Finlandia). Oggi, queste applicazioni sono indicate come messaggistica application-to-peer (A2P), distinta dalla messaggistica peer-to-peer (P2P). Lo sviluppo di applicazioni aziendali interattive richiedeva la gestione delle sessioni, ma poiché gli SMS sono un protocollo senza stato come definito dagli standard GSM, le prime implementazioni erano controllate lato client facendo inserire manualmente agli utenti finali i comandi e gli identificatori di servizio.