Avatar billede r9 Nybegynder
07. januar 2002 - 23:31 Der er 7 kommentarer og
2 løsninger

Session vs. Cookie?

Hvad er forskellen på om man bruger et session object eller Cookie\'s til at håndterer sine klienter?
Avatar billede r9 Nybegynder
07. januar 2002 - 23:32 #1
kan man ikke bruge dem uafhængig af hinanden?
Avatar billede keysersoze Ekspert
07. januar 2002 - 23:36 #2
det er to vidt forskellige ting;

sessions er noget der gemmes på serveren for at kende forskel på de enkelte brugere samt være med til at huske eventuelle ting for den enkelte bruger

cookies gemmes på klientens maskine og kan bruges til på længere sigt at genkende brugere
Avatar billede r9 Nybegynder
07. januar 2002 - 23:40 #3
SessionID\'et gemmes vel også på klienten?

hvordan skal man ellers sammenligne ID\'et, når klienten vender tilbage?
Avatar billede keysersoze Ekspert
08. januar 2002 - 01:37 #4
session gemmes ikke på klienten - session er serverbaseret...

sammenligne id\'et? det kommer jo an på mange ting, for det kan du gemme i en cookie eller i en database
Avatar billede tmceu Praktikant
08. januar 2002 - 02:03 #5
Cookies har den ulempe, at mange hader dem og nogle har slået det fra. Derudover bliver indholdet af en cookie sendt med i request\'en hver eneste gang brugeren foretager sig noget på siden. Det betyder i sidste ende at det vil gå gradvist langsommere at anvende (dog ikke nødvendigvis mærkbart).

Sessionsvariabler bliver hurtigt uoverskueligt og tager desuden resourcer på serveren.

Du kan anvende en cookie og sessionsvariabler til præcis det samme, forskellen er hvor resourcerne bruges; på serveren eller på klienten og i al kommunikation til/fra klienten (cookies bliver sendte med headeren i request og response).

På en måde kan man godt sige at en sessionsid gemmes på klienten, der bliver nemlig sendt en sessionscookie til klienten, men det er ikke en du kan anvende til noget. Skulle en bruger have disablet cookies, vil du derfor få problemer med at anvende både cookies og sessionsvariabler, da hver request fra brugeren i givet fald vil blive opfattet som en ny session på serveren.

M.h.t. sammenligning af sessions ID (selv om jeg ikke tror det er dette du spørger om m.h.t. sammenligning), er en sessions ID kun garanteret unik siden sidste genstart af webserveren og du må derfor aldrig anvende den som unik nøgle i en database.
Avatar billede keysersoze Ekspert
08. januar 2002 - 02:29 #6
man kan IKKE anvende cookies og sessionvariabler til præcis det samme... cookies kan gemmes i længere tid (fx 1 uge - en måned - 1231 år) - hvorimod session kun fungere i enten til brugeren selv abandon\'er dem eller serveren \"lukker\" for dem pga fx inaktivitet
Avatar billede tmceu Praktikant
08. januar 2002 - 02:47 #7
Du har ret ud fra et firkantet, rent teknisk synspunkt. Men logisk vil de stort set altid kunne anvendes til det samme og værdien af at kunne gemme information gennem længere tid i en cookie kan diskutteres.

Hvis det eks. drejer sig om at gemme loginoplysninger som eks. her på Eksperten, så der foretages aut. login, ja så er det en fordel. Men drejer det sig om en indkøbskurv, aktuelt adgangsniveau i et loginsystem o.s.v. er det hamrende ligegyldigt. Faktisk vil man i de tilfælde oftest undgå at oplysninger gemmes. Hvad er værdien eks. af hvilke varer du stoppede i din kurv for x dage siden, når alle varer siden er udsolgt.
Avatar billede keysersoze Ekspert
08. januar 2002 - 02:52 #8
jeg har heller ikke snakket hvordan... sagde bare at der er forskel, og det er der jo :)
Avatar billede r9 Nybegynder
08. januar 2002 - 14:15 #9
tak for de gode forklaringer
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester