Sobes.tech
Junior

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