Sobes.tech
Junior

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

sobes.tech AI

Отговор от AI

Област на видимост: бисквитките са достъпни както от клиента, така и от сървъра. sessionStorage и localStorage са достъпни само от клиента.

Време на живот: За бисквитките времето на живот се задава при създаването им (чрез атрибута expires или max-age). Ако не е указано, бисквитката се изтрива при затваряне на браузъра. sessionStorage съхранява данните само за текущата сесия (до затваряне на раздела или прозореца). localStorage съхранява данните безсрочно, докато не бъдат явно изтрити.

Размер: Максималният размер за бисквитките е около 4 KB. За sessionStorage и localStorage — от 5 MB до 10 MB, в зависимост от браузъра.

Изпращане с всеки заявка: Бисквитките автоматично се изпращат с всеки HTTP-заявка към домейна, за който са зададени, което може да увеличи трафика. Данните в sessionStorage и localStorage не се изпращат към сървъра.

Начин на достъп: Достъпът до бисквитките се осъществява чрез document.cookie (низ). Достъпът до sessionStorage и localStorage се осъществява чрез съответните обекти с използване на методите setItem, getItem, removeItem и clear.

// Задаване на бисквитка
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";

// Получаване на бисквитка
let x = document.cookie;

// Задаване на данни в sessionStorage
sessionStorage.setItem("lastname", "Smith");

// Получаване на данни от sessionStorage
let y = sessionStorage.getItem("lastname");

// Задаване на данни в localStorage
localStorage.setItem("firstname", "Jane");

// Получаване на данни от localStorage
let z = localStorage.getItem("firstname");
Характеристика бисквитки sessionStorage localStorage
Област на видимост Клиент и сървър Само клиент Само клиент
Време на живот Задава се при създаване (expires/max-age), иначе до затваряне на браузъра До затваряне на раздела/прозореца Безсрочно (докато не бъде изрично изтрито)
Размер ~4 KB ~5-10 MB (зависи от браузъра) ~5-10 MB (зависи от браузъра)
Изпращане с заявка Да Не Не
Достъп document.cookie sessionStorage.getItem/setItem localStorage.getItem/setItem