Hvad er fordele og ulemper ved at bruge cookies versus sessioner?


Bedste svar

Hovedidéen bag cookies og sessioner er den samme – der er nogle data, der skal være husket på tværs af forskellige dele af et websted. For eksempel vil et websted muligvis huske, hvilken bruger der er logget ind (på maskinen, der fremsætter anmodninger) for at personalisere siden eller endda kontrollere adgangen.

I de mest enkle tilfælde, hvor cookies indeholder data, der kun forbedrer brugeren erfaring og er disponibel, er cookies at foretrække, fordi de er gemt på klienten i stedet for serveren, så det skaleres godt. Cookiedata kan også fås fra JavaScript, mens sessionsdata kun er private for serveren. Cookies kan også vedblive, når klienten lukker browseren eller lukker ned, mens sessioner typisk ikke varer så længe for at spare ressourcer.

På den anden side, når det drejer sig om følsomme data, vil du i stedet bruge sessioner for at undgå angribere. fra at manipulere cookies. Yahoo er et berygtet eksempel på dette – deres cookiegenereringskode blev kompromitteret, og der blev adgang til hundredtusinder af konti. Dette betyder ikke, at cookies ikke kan bruges til godkendelse – men man skal være meget forsigtig med data, de ikke længere kontrollerer. Mange hjemmesider bruger en blanding af begge dele – cookie til at gemme session-idet og alle følsomme sessionsdata på serveren – til at huske brugere, der er logget ind.

Cookies og sessioner er bare værktøjer som hamre og tang. Du skal vurdere situationen og finde ud af, hvilket værktøj der fungerer.

Svar

Nå, cookies varer indtil en given udløbsdato – hvilket kan være meget lang tid. Det kan bruges til at undgå, at brugeren skal logge ind gentagne gange eller identificere sig på en anden måde.

Session Storage udløber, når brugeren lukker browserfanen … så det er håbløst for nogen af ​​disse ting.

Måske tænker du på “Lokal lagring” – hvilket endnu er en tredje ting.

Både session og lokal lagring kan gemme mellem 5 og 25 MB – afhængigt af browseren – og i enhver format. Cookies kan kun være ca. 4kbytes – hvilket ikke er nok til at gemme ting som billeder og lyd.

Cookies er også nyttige, fordi serveren kan få adgang til dem direkte uden JavaScript-kode for at indlæse dem … session og lokal opbevaring kræver JavaScript-kode for at få adgang til dem – og hvis serveren skal se dem, skal der være skrevet en speciel software for at udveksle disse oplysninger.

Cookies og lokal opbevaring tillader også to separate faner, der er peget på samme websted for at dele vedvarende data. “Sessionslagring” tvinger hver fane til at bruge separate data. Dette kan være en god eller en dårlig ting – afhængigt af hvad du har brug for.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *