Cookies, sessionStorage жана localStorage арасындагы айырманы түшүндүрүңүз.
sobes.tech AI
AIден жооп
Cookies, sessionStorage жана localStorage веб сактагыч механизмдери болуп саналат, алар максатка, жашоо мөөнөтүнө жана сакталган маалыматтардын көлөмүнө жараша айырмаланат.
-
Cookies: Кичинекей маалымат бөлүктөрү, веб-сервер тарабынан жөнөтүлүп, колдонуучунун компьютеринде веб-браузер аркылуу сакталат. Ар бир кийинки суроо менен ошол эле серверге жөнөтүлөт. Аутентификация, колдонуучунун артыкчылыктарын сактоо, себеттин абалын көзөмөлдөө үчүн колдонулат.
- Жашоо мөөнөтү: түзүү учурунда аныкталат (сессиялык же белгилүү бир мөөнөт менен болушу мүмкүн).
- Көлөм: чектелген, адатта бир нече килобайт (болжол менен 4 KB).
-
sessionStorage: браузердин бир сессиясы үчүн гана маалымат сактайт (ачылган тилкеде же терезеде). Маалымат тилкени же терезени жабуу менен жоголот.
- Жашоо мөөнөтү: тилке же терезе жабылгандан кийин.
- Көлөм: Cookiesке караганда кыйла чоң (адатта бир нече мегабайт).
-
localStorage: маалыматты мөөнөтсүз сактайт, колдонуучу же сценарий аны ачык түрдө өчүргөнчө. Бир эле домендин бардык тилкелеринде жана терезелеринде жеткиликтүү.
- Жашоо мөөнөтү: туруктуу (ачык өчүрүлгөнгө чейин).
- Көлөм: Cookiesке караганда кыйла чоң (адатта бир нече мегабайт).
Мына кыскача салыштыруу:
| Механизм | Жашоо мөөнөтү | Жеткиликтүүлүк | Серверге жөнөтүлөт | Көлөм (жылдык) | Максат |
|---|---|---|---|---|---|
| Cookies | Сессиялык же мөөнөтү аяктоо | HTTP башталыштары аркылуу | Ооба | ~4 KB | Аутентификация, көзөмөл, артыкчылыктар |
| sessionStorage | Тилке же терезе жабылгандан кийин | JS API аркылуу | Жок | ~5-10 MB | Убакыттык сессия маалыматтарын сактоо |
| localStorage | Мөөнөтсүз (өчүрүлгөнгө чейин) | JS API аркылуу | Жок | ~5-10 MB | Узак мөөнөттүү маалымат сактоо |
JavaScript API колдонуу мисалдары:
// Cookies (document.cookie аркылуу жеткиликтүү, кол менен талдоо жана сериализация талап кылынат)
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";
// sessionStorage
sessionStorage.setItem('id', '123');
let userId = sessionStorage.getItem('id');
sessionStorage.removeItem('id');
// localStorage
localStorage.setItem('theme', 'dark');
let userTheme = localStorage.getItem('theme');
localStorage.removeItem('theme');
localStorage.clear(); // Бардык маалыматтарды өчүрөт