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 მოთხოვნასთან სერვერზე, რაც შეიძლება გაზარდოს ტრეფიკი.
  • ძირითადი დანიშნულება: მომხმარებლის იდენტიფიკაცია (სესიის კუქი), უპირატესობების მეხსიერება, მომხმარებლის მოქმედებების თვალთვალი.
  • ხელმისაწვდომია როგორც კლიენტის (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();