Sobes.tech
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();