Session (datalogi)

okt 18, 2021

I menneske-computer-interaktion er sessionshåndtering processen med at holde styr på en brugers aktivitet på tværs af interaktionssessioner med computersystemet.

Typiske sessionshåndteringsopgaver i et desktop-miljø omfatter at holde styr på, hvilke programmer der er åbne, og hvilke dokumenter hvert program har åbnet, så den samme tilstand kan genoprettes, når brugeren logger ud og logger ind senere. På et websted kan sessionshåndtering omfatte krav om, at brugeren skal logge ind igen, hvis sessionen er udløbet (dvs. at der er gået en vis tidsgrænse uden brugeraktivitet). Den bruges også til at gemme oplysninger på serversiden mellem HTTP-forespørgsler.

Desktop session managementRediger

En desktop session manager er et program, der kan gemme og gendanne desktop-sessioner. En skrivebordssession er alle de vinduer, der kører i øjeblikket, og deres aktuelle indhold. Sessionshåndtering på Linux-baserede systemer leveres af X session manager. På Microsoft Windows-systemer leveres sessionshåndtering af Session Manager Subsystem (smss.exe); funktionaliteten for brugersessioner kan udvides af tredjepartsprogrammer som twinsplay.

Browser-sessionshåndteringRediger

Sessionshåndtering er særlig nyttig i en webbrowser, hvor en bruger kan gemme alle åbne sider og indstillinger og gendanne dem på et senere tidspunkt eller på en anden computer (se dataportabilitet).

For at hjælpe med at komme sig efter et system- eller programnedbrud kan sider og indstillinger også gendannes ved næste kørsel. Google Chrome, Mozilla Firefox, Internet Explorer, OmniWeb og Opera er eksempler på webbrowsere, der understøtter sessionshåndtering. Sessionsstyring styres ofte ved hjælp af cookies.

Webserver-sessionsstyringRediger

Hypertext Transfer Protocol (HTTP) er stateless: En klientcomputer, der kører en webbrowser, skal oprette en ny TCP-netværksforbindelse (Transmission Control Protocol) til webserveren med hver ny HTTP GET- eller POST-anmodning. Webserveren kan derfor ikke stole på en etableret TCP-netværksforbindelse i længere tid end en enkelt HTTP GET- eller POST-operation. Sessionsstyring er den teknik, som webudvikleren bruger til at få den stateless HTTP-protokol til at understøtte sessionsstatus. Når en bruger f.eks. er blevet autentificeret over for webserveren, bør brugerens næste HTTP-forespørgsel (GET eller POST) ikke få webserveren til at bede om brugerens konto og adgangskode igen. For en diskussion af de metoder, der anvendes til at opnå dette, se HTTP cookie and Session ID

I situationer, hvor flere webservere skal dele viden om sessionstilstand (som det typisk er tilfældet i et klyngemiljø), skal sessionsoplysninger deles mellem de klyngenoder, der kører webserversoftware. Metoder til deling af sessionsstatus mellem knuder i en klynge omfatter: multicasting af sessionsoplysninger til medlemsknuder (se JGroups for et eksempel på denne teknik), deling af sessionsoplysninger med en partnerknude ved hjælp af distribueret delt hukommelse eller hukommelsesvirtualisering, deling af sessionsoplysninger mellem knuder ved hjælp af netværkssoketter, lagring af sessionsoplysninger på et delt filsystem, f.eks. et distribueret filsystem eller et globalt filsystem, eller lagring af sessionsoplysningerne uden for klyngen i en database.

Hvis sessionsoplysninger betragtes som forbigående, flygtige data, der ikke er nødvendige for ikke-afvisning af transaktioner, og som ikke indeholder data, der er underlagt overensstemmelsesrevision (i USA, se f.eks. Health Insurance Portability and Accountability Act og Sarbanes-Oxley Act for eksempler på to love, der kræver overensstemmelsesrevision), kan enhver metode til lagring af sessionsoplysninger anvendes. Men hvis sessionsoplysningerne er underlagt auditoverholdelse, bør det overvejes, hvilken metode der anvendes til opbevaring, replikering og klyngedannelse af sessioner.

I en serviceorienteret arkitektur kan Simple Object Access Protocol- eller SOAP-meddelelser konstrueret med XML-meddelelser (Extensible Markup Language) bruges af forbrugerprogrammer til at få webservere til at oprette sessioner.

Sessionsstyring over SMSEdit

Som HTTP er en tilstandsløs protokol, er SMS det også. Da SMS blev interoperabel på tværs af rivaliserende net i 1999, og tekstbeskeder begyndte sin opstigning mod at blive en allestedsnærværende global kommunikationsform, blev forskellige virksomheder interesserede i at bruge SMS-kanalen til kommercielle formål. De første tjenester krævede ikke nogen sessionshåndtering, da der kun var tale om envejskommunikation (i 2000 blev den første mobile nyhedstjeneste f.eks. leveret via SMS i Finland). I dag betegnes disse applikationer som A2P-meddelelser (application-to-peer) til forskel fra P2P-meddelelser (peer-to-peer). Udviklingen af interaktive virksomhedsapplikationer krævede sessionshåndtering, men da SMS er en tilstandsløs protokol som defineret i GSM-standarderne, blev de tidlige implementeringer styret på klientsiden ved at lade slutbrugerne indtaste kommandoer og tjenesteidentifikatorer manuelt.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.