Michael Sørensen skrev:
> Hvad er egentlig forskellen på en session og en cookie.
Du mener formentlig hvad forskellen på en session-variabel og en
cookie er.
En session er en betegnelse for det samspil der er (kan være)
mellem en browser og et website i en given brugssituation. HTTP-
protokollen (der står for kommunikationen mellem browser og
webserver) er en tilstandsløs protokol - det vil sige at når en
browser beder om en side fra en webserver, ligger der ikke som
udgangspunkt nogen information om hvad browseren og webserveren har
udvekslet af data tidligere (fx hvilke sider browseren har besøgt).
I mange tilfælde vil man imidlertid gerne kunne bruge tilstande på
websider - det er fx praktisk for at afklare om en bruger er logget
på eller ej, og det er praktisk for at kunne lave en indkøbskurv
man kan gemme varer i.
For at håndtere tilstande på sessions-niveau - altså hvad der er
foregået i en tidsmæssigt begrænset periode mellem én browser og ét
website - anvender asp session-cookies. Det er en cookie som
webserveren sender til browseren når en session indledes, og
session-cookie'n gemmer browseren så i hukommelsen. Ved hvert
efterfølgende request til en side på serveren, vil browseren
medsende session-cookie'n, og webserveren kan på denne måde holde
styr på hvad browseren foretager sig. Hver session-cookie har en
unik identifikationsnøgle (sessionID), så serveren kan skelne alle
sessions fra hinanden.
Når man som asp-programmør bruger session-variable, sker der en
sammenknytning af sessionID, variabel-navn og variabel-værdi,
således at en udskrift af session("brugernavn") fx vil vise
"Morten" i én browser men "Peter" i en anden - selv om siderne
kaldes samtidig. Men når browseren lukkes, smider den session-
cookien væk, så alle session-oplysninger tabes. Det samme sker hvis
sessionen opnår timeout - det sker hvis browseren i en periode
(typisk 20 minutter) ikke har kontaktet serveren. Her er det
serveren der smider session-oplysningerne væk, men resutatet er det
samme - oplysningerne er ikke længere til rådighed.
Bruger man blivende (persistent) cookies - ofte bare kaldt cookies
- bliver cookie-oplysningerne gemt i en lille fil på brugerens
computer. Disse cookies har en meget længere levetid, og det er den
slags cookies der kan bruges til at finde oplysninger frem hver
gang man besøger et site.
De to måder at gemme data på har hver sit formål. Hvis man skal
styre login-status er det en session-cookie og ikke en blivende
cookie der skal anvendes (ellers vil en fremmed person der bruger
samme computer kunne logge ind på falske præmisser). Hvis man
omvendt vil give en bruger mulighed for at gemme faste
indtastninger (fx et brugernavn) på en side, er det blivende
cookies der skal anvendes.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på
http://usenet.dk/netikette/citatteknik.html