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) | Nē | 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) | Nē | 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();