Bästa svaret
Huvudidén bakom Cookies and Sessions är densamma – det finns en del data som måste vara minns över olika delar av en webbplats. Till exempel kanske en webbplats vill komma ihåg vilken användare som är inloggad (på maskinen som gör förfrågningar) för att anpassa sidan eller till och med kontrollera åtkomst.
För de flesta enkla fall där cookies innehåller data som bara förbättrar användaren upplevelse och är disponibel, är cookies att föredra, eftersom de lagras på klienten istället för servern, så det skalas bra. Cookiedata kan också nås från JavaScript medan sessionsdata endast är privata för servern. Cookies kan också bestå efter att klienten stänger webbläsaren eller stängs av medan sessioner vanligtvis inte håller så länge för att spara resurser.
Å andra sidan när det gäller känslig information vill du använda sessioner istället för att undvika angripare. från att manipulera kakor. Yahoo är ett ökänt exempel på detta – deras cookiegenereringskod komprometterades och hundratusentals konton användes. Detta innebär inte att cookies inte kan användas för autentisering – men man måste vara mycket försiktig med data som de inte längre kontrollerar. Många webbplatser använder en blandning av båda – cookie för att lagra sessions-ID och all känslig sessionsinformation på servern – för att komma ihåg användare som har loggat in.
Cookies and Sessions är bara verktyg som hammare och tång. Du måste bedöma situationen och ta reda på vilket verktyg som fungerar var.
Svar
Tja, kakor räcker till ett visst utgångsdatum – vilket kan vara mycket lång tid. Den kan användas för att undvika att användaren måste logga in upprepade gånger eller identifiera sig på något annat sätt.
Sessionslagring upphör när användaren stänger webbläsarfliken … så det är hopplöst för något av det.
Du kanske tänker på ”Lokal lagring” – vilket ännu är en tredje sak.
Både session och lokal lagring kan lagra mellan 5 och 25 MB – beroende på webbläsaren – och i vilken som helst formatera. Cookies kan bara vara cirka 4 kbyte – vilket inte räcker för att lagra saker som bilder och ljud.
Cookies är också användbara eftersom servern kan komma åt dem direkt utan JavaScript-kod för att ladda dem … session och lokal lagring kräver JavaScript-kod för att komma åt dem – och om servern behöver se dem måste det finnas en speciell programvara skriven för att utbyta den informationen.
Cookies och lokal lagring tillåter också två separata flikar som riktas mot samma webbplats för att dela ihållande data. ”Sessionslagring” tvingar varje flik att använda separat data. Detta kan vara bra eller dåligt – beroende på vad du behöver.