Sobes.tech
Junior

Cookies, sessionStorage va localStorage o'rtasidagi farqni tushuntiring.

sobes.tech AI

AIdan javob

Механизм Ҳажми (taxminan) Ҳайдовий муддати Кириш Серверга ўтказилади Қўлланилиши
Cookies 4 KB Сервер ёки Brauzer томонидан белгиланган муддат Ҳозирги ҳужжат ва қўшма доменлар (созланишга қараб) Ҳар бир HTTP сўрови билан Тасдиқлаш, кузатиш, фойдаланувчига мўлжалланган созламалар
localStorage 5-10 MB Муддатсиз (фойдаланувчи ўчирмайинча) Фақат ҳозирги манба (протокол, домен, порт) Йўқ Фойдаланувчи созламалари, дастур ҳолати маълумотларини сақлаш
sessionStorage 5-10 MB Браузернинг ҳозирги таби ёки ойнани ёпгуча Фақат ҳозирги манба (протокол, домен, порт) Йўқ Фойдаланувчи сессиясидаги маълумотларни вақтинча сақлаш

Cookies:

  • Ҳар бир HTTP сўрови билан серверга юборилади, бу трафикни оширади.
  • Асосий мақсад: фойдаланувчини идентификация қилиш (сессия кукилари), афзалликларни эслаб қолиш, фойдаланувчи ҳаракатларини кузатиш.
  • Ички томондан (JavaScript) ва сервердан ҳам мавжуд.
  • Домейн ва йўл бўйича чекланиши мумкин.
  • Автоматик юборилиши сабабли сезиларли даражада хавфсиз эмас, чунки у автоматик равишда серверга юборилади.

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();