Junior
Cookies, sessionStorage жана localStorage арасындагы айырманы түшүндүрүңүз.
sobes.tech AI
AIден жооп
| Механизм | Такыр өлчөмү | Өмүрүнүн узактыгы | Достук | Серверге өткөрүлөт | Колдонуу |
|---|---|---|---|---|---|
| Cookies | 4 KB | Сервер же браузер белгилеген мөөнөт | Учурдагы документ жана субдомендер (конфигурацияга жараша) | Ар бир HTTP суроо менен | Колдонуучунун идентификациясы, көзөмөлдөө, ыңгайлаштырылган жөндөөлөр |
| localStorage | 5-10 MB | Чексиз (колдонуучу тазалаганга чейин) | Жай гана актуалдуу origin (протокол, домен, порт) | Жок | Колдонуучунун жөндөөлөрүн сактоо, тиркеменин абалы тууралуу маалымат |
| sessionStorage | 5-10 MB | Браузердин вкладкасы же терезеси жабылгандан кийин | Жай гана актуалдуу origin (протокол, домен, порт) | Жок | Колдонуучунун учурдагы сессиясындагы маалыматтарды сактоо |
Cookies:
- Ар бир HTTP суроо менен серверге жөнөтүлөт, бул трафикти көбөйтүшү мүмкүн.
- Негизги максаты: колдонуучуну идентификациялоо (сессия кукилер), артыкчылыктарды эс тутумга алуу, колдонуучунун аракеттерин көзөмөлдөө.
- Клиент жана сервер тараптан жеткиликтүү.
- Домени жана жолу боюнча чектелиши мүмкүн.
- Автоматтык түрдө серверге жөнөтүлгөндүктөн, сезимтал маалыматтарды сактоо үчүн коопсуздугу төмөн.
localStorage:
- Маалыматтар колдонуучунун браузеринде сакталат.
- Туруктуу сактоо үчүн колдонулат, ар бир суроо менен серверге жөнөтүү керек эмес.
- Жөнөкөй JavaScript API бар.
- Маалыматтар клуч-баалуулук түрүндө сакталат.
- Башка origin'дерден жеткиликтүү эмес.
// Маалыматты орнотуу
localStorage.setItem('username', 'john.doe');
// Маалыматты алуу
let username = localStorage.getItem('username');
// Маалыматты өчүрүү
localStorage.removeItem('username');
// Бардык localStorage тазалоо
localStorage.clear();
sessionStorage:
- localStorage сыяктуу, бирок маалыматтар тек гана учурдагы вкладка же браузер терезеси жабылгандан кийин жоголот.
- Учурдагы сессияга байланыштуу убакыттык маалыматтарды сактоо үчүн эң ылайыктуу (мисалы, форманын маалыматтары, интернет-дүкөндүн себети).
- Ошондой эле жөнөкөй JavaScript API бар, localStorage сыяктуу.
- Маалыматтар тек гана учурдагы origin'де жеткиликтүү.
// Маалыматты орнотуу
sessionStorage.setItem('sessionId', 'abc123');
// Маалыматты алуу
let sessionId = sessionStorage.getItem('sessionId');
// Маалыматты өчүрүү
sessionStorage.removeItem('sessionId');
// Бардык sessionStorage тазалоо
sessionStorage.clear();