I interaktion mellan människa och dator är sessionshantering processen att hålla reda på en användares aktivitet i olika sessioner av interaktion med datorsystemet.
Typiska sessionshanteringsuppgifter i en skrivbordsmiljö är bland annat att hålla reda på vilka program som är öppna och vilka dokument som varje program har öppnat, så att samma tillstånd kan återställas när användaren loggar ut och loggar in senare. På en webbplats kan sessionshantering innebära att användaren måste logga in på nytt om sessionen har löpt ut (dvs. om en viss tid har gått utan att användaren har varit aktiv). Den används också för att lagra information på serversidan mellan HTTP-förfrågningar.
Sessionshantering på skrivbordetRedigera
En sessionshanterare på skrivbordet är ett program som kan spara och återställa sessioner på skrivbordet. En skrivbordssession är alla fönster som för närvarande körs och deras aktuella innehåll. Sessionshantering på Linux-baserade system tillhandahålls av X session manager. På Microsoft Windows-system tillhandahålls sessionshantering av Session Manager Subsystem (smss.exe); funktionaliteten för användarsessioner kan utökas med tredjepartsprogram som twinsplay.
Sessionshantering för webbläsareRedigera
Sessionshantering är särskilt användbar i en webbläsare där användaren kan spara alla öppna sidor och inställningar och återställa dem vid ett senare tillfälle eller på en annan dator (se dataportabilitet).
För att hjälpa till med att återhämta sig från en system- eller programkrasch kan sidor och inställningar också återställas vid nästa körning. Google Chrome, Mozilla Firefox, Internet Explorer, OmniWeb och Opera är exempel på webbläsare som stöder sessionshantering. Sessionshantering hanteras ofta med hjälp av cookies.
Sessionshantering av webbservernRedigera
Hypertext Transfer Protocol (HTTP) är tillståndslöst: en klientdator som kör en webbläsare måste upprätta en ny TCP-nätverksanslutning (Transmission Control Protocol) till webbservern med varje ny HTTP GET- eller POST-förfrågan. Webbservern kan därför inte förlita sig på en etablerad TCP-nätverksanslutning under längre tid än en enda HTTP GET- eller POST-operation. Sessionshantering är den teknik som webbutvecklaren använder för att få det statslösa HTTP-protokollet att stödja sessionsstatus. När en användare har autentiserats hos webbservern bör till exempel användarens nästa HTTP-förfrågan (GET eller POST) inte leda till att webbservern frågar efter användarens konto och lösenord igen. För en diskussion om de metoder som används för att åstadkomma detta se HTTP cookie and Session ID
I situationer där flera webbservrar måste dela kunskap om sessionsstatus (vilket är typiskt i en klustermiljö) måste sessionsinformation delas mellan de klusternoder som kör webbserverprogramvara. Metoder för att dela sessionsstatus mellan noder i ett kluster är bland annat: multicasting av sessionsinformation till medlemsnoder (se JGroups för ett exempel på denna teknik), delning av sessionsinformation med en partnernod med hjälp av distribuerat delat minne eller minnesvirtualisering, delning av sessionsinformation mellan noder med hjälp av nätverkssocklar, lagring av sessionsinformation i ett delat filsystem, t.ex. ett distribuerat filsystem eller ett globalt filsystem, eller lagring av sessionsinformation utanför klustret i en databas.
Om sessionsuppgifter betraktas som övergående, flyktiga data som inte krävs för att inte avvisa transaktioner och inte innehåller data som är föremål för granskning av efterlevnad (i USA, se t.ex. Health Insurance Portability and Accountability Act och Sarbanes-Oxley Act för exempel på två lagar som kräver granskning av efterlevnad) kan vilken metod som helst för att lagra sessionsuppgifter användas. Men om sessionsuppgifter är föremål för revision av efterlevnaden bör man överväga vilken metod som används för lagring, replikering och klustring av sessioner.
I en tjänsteorienterad arkitektur kan Simple Object Access Protocol- eller SOAP-meddelanden som är konstruerade med XML-meddelanden (Extensible Markup Language) användas av konsumentapplikationer för att få webbservrar att skapa sessioner.
Sessionshantering över SMSEdit
Såväl som HTTP är ett tillståndslöst protokoll så är även SMS ett tillståndslöst protokoll. När SMS blev driftskompatibelt mellan rivaliserande nät 1999, och textmeddelanden började sin uppgång mot att bli en allestädes närvarande global kommunikationsform, blev olika företag intresserade av att använda SMS-kanalen i kommersiella syften. De första tjänsterna krävde ingen sessionshantering eftersom de bara var envägskommunikation (till exempel levererades den första mobila nyhetstjänsten via SMS i Finland år 2000). I dag kallas dessa tillämpningar för A2P-meddelanden (application-to-peer) till skillnad från P2P-meddelanden (peer-to-peer). Utvecklingen av interaktiva företagsapplikationer krävde sessionshantering, men eftersom SMS är ett tillståndslöst protokoll enligt definitionen i GSM-standarderna, kontrollerades de tidiga implementeringarna på klientsidan genom att slutanvändarna fick skriva in kommandon och tjänsteidentifierare manuellt.