გთხოვთ, განმარტეთ cookies, sessionStorage და localStorage შორის განსხვავება.
sobes.tech AI
პასუხი AI-სგან
Cookies მცირე მოცულობის ტექსტურ ინფორმაციას ინახავს (მდე 4KB) კლიენტის მხარეზე, იგზავნება ყოველ HTTP მოთხოვნასთან ერთად იმ დომენზე, რომელმაც შექმნა. შეიძლება ჰქონდეს ვადაგასული პერიოდი. გამოიყენება ავტორიზაციის, მომხმარებლების თვალთვალის, მომხმარებლის პრეფერენციების შენახვისთვის.
localStorage ინახავს მონაცემებს ვადაგასული პერიოდის გარეშე (სანამ მომხმარებელი არ წაშლის ან ბრაუზერი არ დახურავს) კლიენტის მხარეზე (მდე 5-10MB, ბრაუზერის მიხედვით). მონაცემები ხელმისაწვდომია ბრაუზერის სესიათებს შორის, მაგრამ მხოლოდ იგივე წარმოშობის (დომენი, პროტოკოლი, პორტი) სკრიპტებისთვის. ავტომატურად არ იგზავნება HTTP მოთხოვნებთან ერთად. გამოიყენება გრძელვადიანი მონაცემთა შენახვის, აპლიკაციის პარამეტრების შენახვისთვის.
sessionStorage ინახავს მონაცემებს ერთი სესიის განმავლობაში (სანამ ჩანართი ან ფანჯარა გახსნილია). მონაცემები იშლება ჩანართის ან ფანჯრის დახურვისას. შენახვის მოცულობა მსგავსია localStorage-ის (მდე 5-10MB). მონაცემები ხელმისაწვდომია მხოლოდ იგივე წარმოშობის სკრიპტებისთვის. ავტომატურად არ იგზავნება HTTP მოთხოვნებთან ერთად. გამოიყენება დროებითი მონაცემთა შენახვისთვის, მიმდინარე სესიისთვის.
| მახასიათებელი | Cookies | localStorage | sessionStorage |
|---|---|---|---|
| შენახვის ვადა | ვადაგასული ან ბრაუზერის დახურვა | სანამ მომხმარებელი არ წაშლის ან არ გააუქმებს | სანამ ჩანართი ან ფანჯარა გახსნილია |
| მონაცემთა ზომა | 4KB-მდე | 5-10MB-მდე | 5-10MB-მდე |
| ხელმისაწვდომობა | იგზავნება HTTP მოთხოვნებთან ერთად დომენზე | მხოლოდ იგივე წარმოშობის JavaScript-ით | მხოლოდ იგივე წარმოშობის JavaScript-ით |
| ბარათებს შორის წვდომა | დიახ | დიახ | არა (სხვადასხვა ბარათებისთვის) |
| დანიშნულება | ავტორიზაცია, თვალთვალი, პრეფერენციები | გრძელვადიანი შენახვა, პარამეტრები | დროებითი შენახვა, მიმდინარე სესიისთვის |
localStorage გამოყენების მაგალითი:
// მონაცემების შენახვა
localStorage.setItem('userName', 'Alice');
// მონაცემების მიღება
const userName = localStorage.getItem('userName');
console.log(userName); // გამოტანა: Alice
// მონაცემების წაშლა
// localStorage.removeItem('userName');
// ყველა შენახული მონაცემის გასუფთავება
// localStorage.clear();
sessionStorage გამოყენების მაგალითი:
// მონაცემების შენახვა
sessionStorage.setItem('orderId', '12345');
// მონაცემების მიღება
const orderId = sessionStorage.getItem('orderId');
console.log(orderId); // გამოტანა: 12345
// მონაცემების წაშლა
// sessionStorage.removeItem('orderId');
// ყველა შენახული მონაცემის გასუფთავება
// sessionStorage.clear();