Ներկայացրեք 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();