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