Cel mai bun răspuns
Ideea principală din spatele cookie-urilor și sesiunilor este aceeași – există câteva date care trebuie să fie amintit în diferite părți ale unui site web. De exemplu, un site web poate dori să-și amintească ce utilizator este conectat (pe aparatul care face cereri) pentru a personaliza pagina sau chiar pentru a controla accesul.
În majoritatea cazurilor simple în care cookie-urile conțin date care îmbunătățesc doar utilizatorul experiență și este de unică folosință, cookie-urile sunt de preferat, deoarece sunt stocate pe client în loc de server, deci se potrivește bine. De asemenea, datele cookie pot fi accesate din JavaScript în timp ce datele de sesiune sunt private numai pentru server. Cookie-urile pot persista, de asemenea, după ce clientul închide browserul sau se oprește, în timp ce sesiunile de obicei nu durează atât de mult pentru a conserva resursele.
Pe de altă parte, atunci când sunt date sensibile, doriți să utilizați sesiuni în loc pentru a evita atacatorii de la manipularea cookie-urilor. Yahoo este un exemplu infam pentru acest lucru – codul lor de generare a cookie-urilor a fost compromis și sute de mii de conturi au fost accesate. Acest lucru nu implică cookie-urile care nu pot fi utilizate pentru autentificare – dar trebuie să fii foarte atent cu datele pe care nu le mai controlează. O mulțime de site-uri web utilizează o combinație de ambele – cookie pentru a stoca ID-ul sesiunii și toate datele sensibile ale sesiunii pe server – pentru a-și aminti utilizatorii care s-au conectat.
Cookie-urile și sesiunile sunt doar instrumente precum ciocane și clești. Trebuie să evaluați situația și să aflați ce instrument funcționează.
Răspundeți
Ei bine, cookie-urile durează până la o anumită dată de expirare – care ar putea fi o perioadă foarte mare de timp. Poate fi folosit pentru a evita ca utilizatorul să se conecteze în mod repetat sau să se identifice în alt mod.
Stocarea sesiunii expiră atunci când utilizatorul închide fila browserului … deci este fără speranță pentru oricare dintre aceste lucruri.
Poate vă gândiți la „Stocare locală” – care este încă un al treilea lucru.
Atât sesiunea cât și stocarea locală pot stoca între 5 și 25Mbytes – în funcție de browser – și în orice format. Cookie-urile pot avea doar aproximativ 4 kbyte – ceea ce nu este suficient pentru stocarea unor lucruri precum imagini și audio.
Cookie-urile sunt, de asemenea, utile, deoarece serverul le poate accesa direct fără a avea nevoie de cod JavaScript pentru a le încărca … sesiune și stocare locală necesită cod JavaScript pentru a le accesa – și dacă serverul trebuie să le vadă, trebuie să existe un software special scris pentru a face schimb de informații.
Cookie-urile și stocarea locală permit, de asemenea, două file separate care sunt îndreptate către același site web pentru a partaja date persistente. „Stocarea sesiunii” forțează fiecare filă să utilizeze date separate. Acesta poate fi un lucru bun sau rău – în funcție de ce aveți nevoie.