Izskaidrojiet atšķirību starp cookies, sessionStorage un localStorage.
sobes.tech AI
Atbilde no AI
Cookies glabā nelielu apjomu teksta informāciju (līdz 4KB) klienta pusē, nosūta ar katru HTTP pieprasījumu uz to domēnu, kurš to izveidojis. Var būt derīguma termiņš. Tos izmanto autorizācijai, lietotāju izsekošanai, lietotāja preferences saglabāšanai.
localStorage saglabā datus bez derīguma termiņa (kamēr lietotājs tos neizdzēsīs vai neaizvērs pārlūkprogrammu) klienta pusē (līdz 5-10MB, atkarībā no pārlūkprogrammas). Dati ir pieejami starp pārlūka sesijām, bet tikai no tā paša izcelsmes (doma, protokols, ports) skriptiem. Tie netiek automātiski sūtīti ar HTTP pieprasījumiem. Tos izmanto ilgtermiņa datu glabāšanai, lietojumprogrammas iestatījumu saglabāšanai.
sessionStorage saglabā datus vienas sesijas laikā (kamēr cilne vai logs ir atvērti). Dati tiek dzēsti, aizverot cilni vai logu. Glabāšanas apjoms ir līdzīgs localStorage (līdz 5-10MB). Dati ir pieejami tikai no tā paša izcelsmes skriptiem. Tie netiek automātiski sūtīti ar HTTP pieprasījumiem. Tos izmanto īslaicīgai datu glabāšanai, aktuālajai sesijai.
| Īpašības | Cookies | localStorage | sessionStorage |
|---|---|---|---|
| Glabāšanas termiņš | Derīguma termiņš vai pārlūkprogrammas aizvēršana | Kamēr lietotājs tos neizdzēsīs vai neizdzēsīs | Kamēr cilne vai logs ir atvērti |
| Datu lielums | Līdz 4KB | Līdz 5-10MB | Līdz 5-10MB |
| Pieejamība | Nosūtās ar HTTP pieprasījumiem uz domēnu | Tikai caur JavaScript no tā paša izcelsmes | Tikai caur JavaScript no tā paša izcelsmes |
| Starpcilņu pieejamība | Jā | Jā | Nē (atšķirīgām cilnēm) |
| Mērķis | Autentifikācija, izsekošana, preferences | Ilgtermiņa glabāšana, iestatījumi | Īslaicīga glabāšana sesijas laikā |
localStorage lietošanas piemērs:
// Datu saglabāšana
localStorage.setItem('userName', 'Alice');
// Datu iegūšana
const userName = localStorage.getItem('userName');
console.log(userName); // Izvade: Alice
// Datu dzēšana
// localStorage.removeItem('userName');
// Visu datu tīrīšana
// localStorage.clear();
sessionStorage lietošanas piemērs:
// Datu saglabāšana
sessionStorage.setItem('orderId', '12345');
// Datu iegūšana
const orderId = sessionStorage.getItem('orderId');
console.log(orderId); // Izvade: 12345
// Datu dzēšana
// sessionStorage.removeItem('orderId');
// Visu datu tīrīšana
// sessionStorage.clear();