Sesiunea și stocarea locală sunt metode de stocare în browser care vă permit să stocați date alături de solicitările HTTP fără stat. Sunt o alternativă la stocarea bazată pe cookie-uri și au multe utilizări în dezvoltarea web.
Deși funcționează într-un mod foarte similar, există diferențe semnificative de care ar trebui să fii conștient.
Stocarea locală și stocarea sesiunii: care sunt utilizările lor?
Stocarea locală și de sesiune sunt API-uri JavaScript pe care le puteți folosi pentru a stoca date pe partea clientului. Acestea permit unui site web să stocheze date în browser și îi indică browserului să le acceseze mai târziu.
În funcție de nevoile dvs., puteți utiliza stocarea locală sau de sesiune pentru a stoca date. Ambele metode de stocare sunt similare cu cookie-urile, dar fără aceeași confidențialitate se referă la cookie-urile din jur. Prin urmare, majoritatea site-urilor web moderne preferă să folosească numai metode de stocare web sau să le combine cu cookie-uri ca alternativă.
Spre deosebire de cookie-uri, stocarea locală și stocarea sesiunii nu trimit date către server prin anteturi HTTP. Ar trebui să le utilizați numai pentru funcționalitatea clientului.
În plus, stocarea locală și cea de sesiune au fiecare o limită de stocare de aproximativ 5 MB per domeniu. Acestea oferă mai mult spațiu de stocare decât cookie-urile, care au doar o capacitate de 4 KiB per cookie.
Ce este stocarea sesiunii?
O sesiune de navigare aproximează utilizarea unui site web. Dacă vizitați un site, răsfoiți puțin, apoi opriți computerul, vă puteți gândi la acel moment ca la o singură sesiune. Configurația browserului dvs. poate schimba acest lucru în moduri subtile, dar o sesiune își propune să reprezinte perioada de timp în care interacționați cu un site.
Stocarea sesiunii este unică pentru fiecare filă de browser. Dacă deschideți o filă nouă și navigați la același site, veți începe o nouă sesiune cu propriul spațiu de stocare. Cu toate acestea, dacă utilizați o funcție de „filă duplicată” în browser, aceasta poate reutiliza aceeași sesiune. Nu te poți baza prea mult pe detaliile specifice ale unei „sediuni”. În schimb, concentrați-vă pe conceptul de bază: stocarea sesiunii este temporară.
Stocarea sesiunii are metode API încorporate pentru a lucra cu datele perechilor cheie/valoare. Puteți stoca date de la JavaScript ca astfel:
sessionStorage.setItem(„cheie”, „valoare”);
Și pentru a prelua valoarea stocată:
sessionStorage.getItem("cheie");
Rețineți că ambele cheie și valoare sunt doar tipuri de șiruri. Dacă doriți să stocați un alt tip, va trebui să îl convertiți într-un șir, explicit sau implicit.
Ce este stocarea locală?
Stocarea locală păstrează datele în toate instanțele unui site, indiferent dacă acestea se află în diferite file sau ferestre. De asemenea, este permanent, astfel încât datele nu vor dispărea când închideți browserul.
Când deschideți un site web care a folosit anterior stocare locală, acesta va avea întotdeauna acces la acele date stocate.
În calitate de dezvoltator web, puteți utiliza acest mecanism pentru a păstra datele despre un utilizator. Unele site-uri web ar putea folosi acest lucru pentru a vă menține conectat sau pentru a oferi o experiență mai personalizată.
La fel ca stocarea sesiunii, puteți seta un obiect de stocare local cu o linie de cod JavaScript:
localStorage.setItem(„cheie”, „valoare”);
Pentru a accesa valoarea cheii:
localStorage.getItem("cheie");
Rețineți că aceste metode funcționează în același mod ca stocarea sesiunii, ele folosesc doar un alt tip de depozit de date.
În timp ce stocarea sesiunii șterge datele de îndată ce sesiunea se termină, singura modalitate de a șterge stocarea locală este să o ștergeți în mod explicit. Ambele tipuri de stocare oferă două metode de ștergere a datelor. Prima elimină un anumit element de date pe baza cheii sale:
localStorage.removeItem(„cheie”);
De asemenea, puteți elimina toate datele stocate de site-ul dvs., indiferent de cheia acestuia:
localStorage.clear();
Puteți afla mai multe despre aceste metode API de stocare web pe site-ul javascript.info site-ul web.
Când aveți nevoie de stocare locală?
Deoarece stocarea locală este persistentă, este cel mai bun pariu să păstrați datele pe parcursul vizitelor utilizatorilor. Dacă doriți să stocați preferințele site-ului sau să stocați în cache date pe termen lung, stocarea locală este adecvată. Este posibil să nu doriți să stocați date mai sensibile folosind stocarea locală, deoarece acestea sunt permanente.
Deoarece stocarea locală și de sesiune sunt metode front-end, poate doriți să evitați să le folosiți pentru funcții bazate pe server, cum ar fi autentificarea utilizatorului. Puteți considera cookie-urile ca o alternativă în aceste cazuri.
Când aveți nevoie de stocarea sesiunii?
Dacă doriți să stocați date numai în timp ce un utilizator interacționează cu site-ul dvs., atunci stocarea sesiunii este ideală. Aceasta ar putea fi pentru stocarea în cache pe termen scurt sau pentru date de utilizare despre o anumită vizită pe site-ul dvs.
Stocarea sesiunii este mai bună pentru stocarea informațiilor mai sensibile, deoarece expiră.
Stocare locală vs. Stocarea sesiunii: care este mai sigur?
După cum ați văzut, metodele de stocare locală și de sesiune sunt similare în multe privințe, dar au încă cazuri de utilizare personalizate. Nu ar trebui să le considerați sigure, deoarece sunt tehnologii front-end la care are acces JavaScript. Cu toate acestea, stocarea sesiunii este foarte convenabilă, iar natura sa temporară este liniștitoare.
Stocarea locală este permanentă, așa că poate pune probleme de securitate suplimentare. Oricine deschide un browser poate, teoretic, să acceseze stocarea locală. Ar trebui să fii conștient de cum funcționează atacurile XSS și cum să le prevenim.
Stocare locală sau stocare în sesiune: pe care ar trebui să le utilizați?
Stocarea sesiunii este puțin mai sigură datorită naturii sale temporare. Cu toate acestea, alegerea metodei de stocare web depinde de cerințele dvs. Stocarea JavaScript este cea mai potrivită numai pentru utilizarea pe partea clientului. Dar oferă un magazin de date convenabil bazat pe browser și este foarte ușor de utilizat.
Rețineți că, în timp ce stocarea locală stochează date în mai multe file, stocarea sesiunii este unică pentru fiecare filă, în cea mai mare parte. Ar trebui să vă asigurați că aplicația dvs. face cât mai puține ipoteze posibil și că ține cont de cazurile marginale.
Cookie-urile sunt o formă mai veche de persistență a datelor, dar sunt încă foarte utilizate. Poate doriți să le verificați pentru datele pe care trebuie să le transmiteți către server.