Sobes.tech
Junior

Izskaidrojiet atšķirību starp cookies, sessionStorage un localStorage.

sobes.tech AI

Atbilde no AI

Mehānisms Aptuvenais izmērs Dzīves ilgums Piekļuve Pārsūtīts uz serveri Lietošana
Sīkdatnes 4 KB Derīguma termiņš, ko nosaka serveris vai pārlūkprogramma Pašreizējais dokuments un apakšdomēni (atkarīgs no iestatījumiem) Katrs HTTP pieprasījums Autentifikācija, izsekošana, lietotāja pielāgoti iestatījumi
localStorage 5-10 MB Bezgalīgs (kamēr lietotājs izdzēš) Tikai pašreizējais avots (protokols, domēns, ports) Lietotāja iestatījumu glabāšana, lietojumprogrammas stāvokļa dati
sessionStorage 5-10 MB Līdz cilnes vai pārlūkprogrammas loga aizvēršanai Tikai pašreizējais avots (protokols, domēns, ports) Datu glabāšana vienas sesijas laikā

Sīkdatnes:

  • Sūta ar katru HTTP pieprasījumu uz serveri, kas var palielināt trafiku.
  • Galvenais mērķis: lietotāja identifikācija (sesijas sīkdatnes), preferences atmiņa, lietotāja darbību izsekošana.
  • Pieejamas gan klienta (JavaScript), gan servera pusē.
  • Var būt ierobežotas pēc domēna un ceļa.
  • Tiek uzskatītas par mazāk drošām, jo automātiski tiek sūtītas uz serveri.

localStorage:

  • Dati tiek glabāti lietotāja pārlūkprogrammā.
  • Izmanto pastāvīgai glabāšanai, kas nav jānosūta uz serveri ar katru pieprasījumu.
  • Ir vienkāršs JavaScript API.
  • Dati tiek glabāti kā atslēga-vērtība pāris.
  • Nav pieejami no citiem originiem.
// Iestatīt vērtību
localStorage.setItem('username', 'john.doe');

// Saņemt vērtību
let username = localStorage.getItem('username');

// Dzēst vērtību
localStorage.removeItem('username');

// Notīrīt visu localStorage
localStorage.clear();

sessionStorage:

  • Līdzīgs localStorage, bet dati tiek glabāti tikai līdz pašreizējās cilnes vai pārlūkprogrammas loga aizvēršanai.
  • Ideāli piemērots īslaicīgai datu glabāšanai, kas saistīti ar pašreizējo sesiju (piem., formas dati, iepirkumu grozs).
  • Tam ir arī vienkāršs JavaScript API, līdzīgs localStorage.
  • Dati ir pieejami tikai pašreizējā originā.
// Iestatīt vērtību
sessionStorage.setItem('sessionId', 'abc123');

// Saņemt vērtību
let sessionId = sessionStorage.getItem('sessionId');

// Dzēst vērtību
sessionStorage.removeItem('sessionId');

// Notīrīt visu sessionStorage
sessionStorage.clear();