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 Дарозмуддат нигоҳдории маълумот

Маслиҳатҳо барои истифодаи API JavaScript:

// 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(); // Тоза кардани ҳамаи маълумот дар localStorage