Sobes.tech
Junior

Ներկայացրեք cookies, sessionStorage և localStorage տարբերությունը։

sobes.tech AI

Պատասխան AI-ից

Cookies, sessionStorage և localStorage - դա վեբ պահեստավորման մեխանիզմներ են, որոնք տարբերվում են նպատակով, կյանքի տևողությամբ և պահվող տվյալների ծավալով:

  • Cookies: Փոքր տվյալների կտորներ, որոնք ուղարկվում են վեբ սերվերից և պահվում օգտվողի համակարգչում վեբ բրաուզերի միջոցով: Ուղարկվում են յուրաքանչյուր հաջորդ հարցում նույն սերվերին: Օգտագործվում են նույնականացման, օգտվողի նախընտրությունների պահպանում, գնումների զամբյուղի վիճակի հետևելու համար:

    • Կյանքի ժամկետ: Կանխորոշվում է ստեղծման ժամանակ (կարող է լինել սեսիայի կամ որոշակի ժամկետով):
    • Տարածք: սահմանափակ, սովորաբար մի քանի կիլոբայթ (մոտ 4 KB):
  • sessionStorage: պահում է տվյալները միայն մեկ սեսիայի համար (բրաուզերի բացված թաբ կամ պատուհան): Տվյալները ջնջվում են թաբը կամ պատուհանը փակելիս:

    • Կյանքի ժամկետ: մինչև թաբի կամ պատուհանի փակումը:
    • Տարածք: զգալիորեն մեծ, սովորաբար մի քանի մեգաբայթ:
  • localStorage: պահում է տվյալները առանց ժամկետի, մինչև որ օգտվողը կամ սցենարը բացահայտորեն ջնջի: հասանելի է բոլոր թաբերում և պատուհաններում նույն դոմենում:

    • Կյանքի ժամկետ: մշտական (մինչև բացահայտ ջնջելը):
    • Տարածք: զգալիորեն մեծ, սովորաբար մի քանի մեգաբայթ:

Ահա համառոտ համեմատություն:

Մեխանիզմ Կյանքի ժամկետ Հասանելիություն Ուղարկվում է սերվերին Տարածք (տիպիկ) Նպատակը
Cookies Սեսիայի կամ ժամկետի ավարտով HTTP հեդերների միջոցով Այո ~4 KB նույնականացում, հետևում, նախընտրություններ
sessionStorage Մինչ թաբի կամ պատուհանի փակումը JS API միջոցով Ոչ ~5-10 MB Ժամանակավոր տվյալների պահպանում
localStorage Մշտական (մինչև ջնջելը) JS API միջոցով Ոչ ~5-10 MB Տևական տվյալների պահպանում

Օրինակներ JavaScript API-ի օգտագործման համար:

// Cookies (հասանելի է document.cookie-ով, պահանջում է ձեռքով վերլուծում և սերիալիզացիա)
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2023 12:00:00 UTC; path=/";

// sessionStorage
sessionStorage.setItem('id', '123');
let userId = sessionStorage.getItem('id');
sessionStorage.removeItem('id');

// localStorage
localStorage.setItem('theme', 'dark');
let userTheme = localStorage.getItem('theme');
localStorage.removeItem('theme');
localStorage.clear(); // Մաքարում է localStorage-ի բոլոր տվյալները