Sobes.tech
Junior

Обяснете разликата между cookies, sessionStorage и localStorage.

sobes.tech AI

Отговор от AI

Cookies съхраняват малки обеми текстова информация (до 4KB) от страната на клиента, изпращат се с всеки HTTP заявка към домейна, който ги е създал. Могат да имат срок на валидност. Използват се за авторизация, проследяване на потребители, запазване на потребителски предпочитания.

localStorage съхранява данни без срок на валидност (докато потребителят не ги изтрие или браузърът не бъде затворен) на страната на клиента (до 5-10MB в зависимост от браузъра). Данните са достъпни между сесиите на браузъра, но само за скриптове от същия произход (домейн, протокол, порт). Не се изпращат автоматично с HTTP заявки. Използват се за дългосрочно съхранение на данни, запазване на настройки на приложението.

sessionStorage съхранява данни за една сесия на браузъра (докато разделът или прозорецът са отворени). Данните се изтриват при затваряне на раздела или прозореца. Размерът на съхранението е подобен на localStorage (до 5-10MB). Данните са достъпни само за скриптове от същия произход. Не се изпращат автоматично с HTTP заявки. Използват се за временна съхранение на данни, специфични за текущата сесия.

Характеристика Cookies localStorage sessionStorage
Срок на съхранение Срок на валидност или затваряне на браузъра Докато не бъдат изтрити от потребителя или приложението Докато е отворен разделът или прозорецът
Размер на данните До 4KB До 5-10MB До 5-10MB
Достъпност Изпращат се с HTTP заявки към домейна Само чрез JavaScript от същия произход Само чрез JavaScript от същия произход
Достъп между раздели Да Да Не (за различни раздели)
Назначение Авторизация, проследяване, предпочитания Дългосрочно съхранение, настройки Временна съхранение в рамките на сесията

Пример за използване на localStorage:

// Запазване на данни
localStorage.setItem('userName', 'Alice');

// Получаване на данни
const userName = localStorage.getItem('userName');
console.log(userName); // Изход: Alice

// Изтриване на данни
// localStorage.removeItem('userName');

// Изчистване на цялото хранилище
// localStorage.clear();

Пример за използване на sessionStorage:

// Запазване на данни
sessionStorage.setItem('orderId', '12345');

// Получаване на данни
const orderId = sessionStorage.getItem('orderId');
console.log(orderId); // Изход: 12345

// Изтриване на данни
// sessionStorage.removeItem('orderId');

// Изчистване на цялото хранилище
// sessionStorage.clear();