Sobes.tech
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();