Sobes.tech
Junior

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(); // Бардык маалыматтарды өчүрөт