Sobes.tech
Junior

Објасните разлику између cookies, sessionStorage и localStorage.

sobes.tech АИ

Одговор од АИ

Област видљивости: колачићи су доступни како на страни клијента, тако и на страни сервера. 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