Ի՞նչ են Web Storage-ները և ինչու են պետք
Բրաուզերային հավելվածներում հաճախ անհրաժեշտություն է առաջանում պահպանել տվյալներ՝ առանց դրանք անմիջապես ուղարկելու սերվերին։ Այդ նպատակով գոյություն ունեն տարբեր պահման մեթոդներ, որոնք միասին անվանում ենք Web Storage մեխանիզմներ։ Դրանք թույլ են տալիս պահպանել տվյալներ օգտատիրոջ սարքի վրա՝ ապահովելով արագություն, հարմարություն և որոշ դեպքերում՝ աշխատանք առանց ինտերնետի։
JavaScript-ի միջոցով հնարավոր է պահպանել օգտատիրոջ ընտրած լեզուն, theme (օրինակ՝ մութ կամ բաց ռեժիմ), վերջին այցելած էջը, session-ի վիճակը կամ նույնիսկ ամբողջական offline տվյալների բազա։ Բայց որ պահման մեթոդն օգտագործել՝ կախված է տվյալների բնույթից և օգտագործման նպատակից։
Հիմնական պահման մեթոդները բրաուզերում
1. Cookies
2. LocalStorage
3. SessionStorage
4. IndexedDB
5. Cache Storage (Service Workers-ի հետ)
6. File System Access API (միայն որոշ բրաուզերներում)
Այս մեթոդներից յուրաքանչյուրը նախատեսված է տարբեր սցենարների համար՝ փոքր կամ մեծ տվյալներ, ժամանակավոր session-ի համար, կամ նույնիսկ ամբողջական offline հավելվածների իրականացման համար։
Persistent vs Temporary պահում
Persistent storage մեթոդները (օր.՝ LocalStorage, IndexedDB) պահում են տվյալները նույնիսկ բրաուզերը փակելուց հետո։
Temporary storage մեթոդները (օր.՝ SessionStorage, memory-based պահումներ) տվյալները պահում են միայն ընթացիկ session-ի ընթացքում։
- Persistent՝ տվյալները մնում են մինչև օգտատերը կամ բրաուզերը մաքրեն դրանք։
- Temporary՝ տվյալները կորչում են նոր tab կամ window բացելիս կամ browser փակելիս։
Ո՞րն երբ օգտագործել
Ահա կարճ համեմատություն՝ երբ և ինչի համար կարող ես կիրառել տարբեր պահման մեթոդները։
- Cookies → Auth, tracking, server-side access
- LocalStorage → Թեթև client-side կարգավորումներ
- SessionStorage → Session-ի ընթացքում պահվող տվյալներ (օր. form steps)
- IndexedDB → Խոշոր, կառուցվածքային տվյալներ (offline apps)
- Cache Storage → Assets/API cache (Service Worker-ով)
- File System API → File editing կամ download/save հնարավորություն
Վերջաբան
Տվյալների պահպանումը բրաուզերում կարևոր գործիք է ժամանակակից վեբ հավելվածների համար։ Ճիշտ մեթոդի ընտրությունը կախված է տվյալների քանակից, պահպանման տևողությունից և անվտանգության պահանջներից։ Հաջորդ հոդվածում կխոսենք ամենահին ու ամենատարածված մեթոդի՝ Cookies-ի մասին։