Junior
Ներկայացրեք cookies, sessionStorage և localStorage միջև տարբերությունը։
sobes.tech AI
Պատասխան AI-ից
| Մեխանիզմ | Մոտավոր չափը | Կյանքի ժամկետը | Հասանելիություն | Փոխանցվում է սերվերին | Օգտագործում |
|---|---|---|---|---|---|
| Cookies | 4 KB | Ժամկետը, որը սահմանում է սերվերը կամ բրաուզերը | Ներկա փաստաթուղթը և ենթադոմենները (կախված կարգավորումներից) | Ամեն HTTP հարցում | Օգտագործողի նույնականացում, հետևում, անհատական կարգավորումներ |
| localStorage | 5-10 MB | Անվերջ (մինչև որ օգտվողը ջնջի) | Միայն ընթացիկ origin (պրոտոկոլ, դոմեն, պորտ) | Ոչ | Օգտագործողի կարգավորումների պահպանում, ծրագրի վիճակի տվյալներ |
| sessionStorage | 5-10 MB | Դեռ մինչև բացվի թերթիկը կամ բրաուզերի պատուհանը | Միայն ընթացիկ origin (պրոտոկոլ, դոմեն, պորտ) | Ոչ | Տվյալների պահպանում մեկ սեսիայի ընթացքում |
Cookies:
- Ներկայանում են յուրաքանչյուր HTTP հարցման հետ սերվերին, ինչը կարող է ավելացնել տրաֆիկը:
- հիմնական նպատակն է՝ օգտագործողի նույնականացում (սեսիայի cookies), նախընտրությունների հիշողություն, օգտագործողի գործողությունների հետևում:
- հասանելի են ինչպես հաճախորդի (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();