Sesija ir vietinė saugykla yra naršyklės saugojimo metodai, leidžiantys saugoti duomenis kartu su HTTP užklausomis be būsenos. Jie yra alternatyva slapukais pagrįstai saugyklai ir plačiai naudojami kuriant internetą.

Nors jie veikia labai panašiai, yra reikšmingų skirtumų, kuriuos turėtumėte žinoti.

Vietinė saugykla ir seanso saugykla: kokia jų paskirtis?

Vietinė ir seanso saugykla yra „JavaScript“ API, kurias galite naudoti duomenims saugoti kliento pusėje. Jie leidžia svetainei saugoti duomenis naršyklėje ir nurodyti naršyklei juos pasiekti vėliau.

Atsižvelgiant į poreikius, duomenims saugoti galite naudoti vietinę arba seanso saugyklą. Abu saugojimo būdai yra panašūs į slapukus, bet be jų tas pats privatumas susijęs su slapukais. Todėl dauguma šiuolaikinių svetainių renkasi tik žiniatinklio saugojimo metodus arba derina juos su slapukais kaip atsarginį variantą.

Skirtingai nuo slapukų, vietinė saugykla ir seanso saugykla nesiunčia duomenų į serverį per HTTP antraštes. Turėtumėte juos naudoti tik kliento funkcijoms.

instagram viewer

Be to, vietinės ir seanso saugyklos saugyklos limitas yra maždaug 5 MB vienam domenui. Jie suteikia daugiau vietos nei slapukai, kurių talpa yra tik 4 KiB vienam slapukui.

Kas yra seansų saugykla?

Naršymo seansas apytiksliai parodo jūsų naudojimąsi svetaine. Jei apsilankote svetainėje, šiek tiek naršote, tada išjungiate kompiuterį, galite galvoti apie tą laiką kaip vieną seansą. Jūsų naršyklės konfigūracija gali tai pakeisti subtiliais būdais, tačiau seanso tikslas – parodyti laiko, kurį bendraujate su svetaine, dalį.

Seanso saugykla yra unikali kiekviename naršyklės skirtuke. Jei atidarysite naują skirtuką ir eisite į tą pačią svetainę, pradėsite naują seansą su savo saugykla. Tačiau jei naršyklėje naudojate „dublikato skirtuko“ funkciją, ta pati sesija gali būti naudojama pakartotinai. Negalite per daug pasikliauti konkrečiomis „seanso“ detalėmis. Vietoj to sutelkite dėmesį į pagrindinę koncepciją: seanso saugykla yra laikina.

Seanso saugykloje yra integruoti API metodai, skirti dirbti su rakto / vertės poros duomenimis. Galite saugoti duomenis iš JavaScript kaip taip:

sessionStorage.setItem("raktas", "vertė");

Ir norėdami gauti išsaugotą vertę:

sessionStorage.getItem("raktas");

Atkreipkite dėmesį, kad abu Raktas ir vertė yra tik eilučių tipai. Jei norite išsaugoti kitą tipą, turėsite tiesiogiai arba netiesiogiai konvertuoti jį į eilutę.

Kas yra vietinė saugykla?

Vietinėje saugykloje saugomi visų svetainės egzempliorių duomenys, nesvarbu, ar jie yra skirtinguose skirtukuose, ar skirtinguose lange. Jis taip pat yra nuolatinis, todėl duomenys neišnyks uždarius naršyklę.

Kai atidarote svetainę, kuri anksčiau naudojo vietinę saugyklą, ji visada turės prieigą prie tų saugomų duomenų.

Kaip žiniatinklio kūrėjas galite naudoti šį mechanizmą duomenims apie vartotoją išsaugoti. Kai kuriose svetainėse tai gali būti naudojama, kad galėtumėte prisijungti arba teikti labiau suasmenintą patirtį.

Kaip ir sesijos saugyklą, galite nustatyti vietinės saugyklos objektą su viena JavaScript kodo eilute:

localStorage.setItem("raktas", "vertė");

Norėdami pasiekti rakto reikšmę:

localStorage.getItem("raktas");

Atminkite, kad šie metodai veikia taip pat, kaip ir seanso saugojimas, tik jie naudoja kitokio tipo duomenų saugyklą.

Nors seanso saugykla išvalo duomenis iš karto pasibaigus seansui, vienintelis būdas išvalyti vietinę saugyklą yra aiškiai ją ištrinti. Abu saugojimo tipai siūlo du būdus duomenims išvalyti. Pirmasis pašalina konkretų duomenų elementą pagal jo raktą:

localStorage.removeItem("raktas");

Taip pat galite pašalinti visus svetainėje saugomus duomenis, neatsižvelgiant į jų raktą:

localStorage.clear();

Daugiau apie šiuos žiniatinklio saugyklos API metodus galite sužinoti javascript.info Interneto svetainė.

Kada jums reikia vietinės saugyklos?

Kadangi vietinė saugykla yra nuolatinė, geriausia išsaugoti duomenis per naudotojų apsilankymus. Jei norite saugoti svetainės nuostatas arba talpykloje saugoti ilgalaikius duomenis, tinka vietinė saugykla. Galbūt nenorėsite saugoti jautresnių duomenų naudodami vietinę saugyklą, nes ji yra nuolatinė.

Kadangi vietinė ir seanso saugykla yra priekiniai metodai, galbūt norėsite nenaudoti jų serverio funkcijoms, pvz., vartotojo prisijungimui, atlikti. Tokiais atvejais kaip alternatyvą galite apsvarstyti slapukus.

Kada jums reikia seansų saugyklos?

Jei norite saugoti duomenis tik vartotojui sąveikaujant su jūsų svetaine, seanso saugykla yra ideali. Tai gali būti trumpalaikiai talpyklos arba naudojimo duomenys apie konkretų apsilankymą jūsų svetainėje.

Seanso saugykla geriau tinka jautresnei informacijai saugoti, nes jos galiojimo laikas baigiasi.

Vietinė saugykla vs. Seanso saugykla: kuris yra saugesnis?

Kaip matėte, vietinio ir seanso saugojimo metodai daugeliu atžvilgių yra panašūs, tačiau vis tiek turi pritaikytų naudojimo atvejų. Neturėtumėte laikyti, kad jie yra saugūs, nes tai yra pagrindinės technologijos, prie kurių „JavaScript“ turi prieigą. Tačiau seansų saugojimas yra labai patogus, o jo laikinas pobūdis ramina.

Vietinė saugykla yra nuolatinė, todėl gali kilti papildomų saugumo problemų. Kiekvienas, atidaręs naršyklę, teoriškai gali pasiekti vietinę saugyklą. Turėtumėte žinoti kaip veikia XSS atakos ir kaip jų išvengti.

Vietinė saugykla arba seanso saugykla: kurią turėtumėte naudoti?

Seanso saugojimas yra šiek tiek saugesnis dėl savo laikino pobūdžio. Tačiau žiniatinklio saugojimo metodo pasirinkimas priklauso nuo jūsų reikalavimų. „JavaScript“ saugykla labiausiai tinka naudoti tik kliento pusėje. Tačiau ji siūlo patogią naršyklės duomenų saugyklą ir yra labai paprasta naudoti.

Atminkite, kad nors vietinėje saugykloje duomenys saugomi keliuose skirtukuose, kiekvienam skirtukui seanso saugykla dažniausiai yra unikali. Turėtumėte užtikrinti, kad jūsų programoje būtų daroma kuo mažiau prielaidų ir būtų atsižvelgta į kraštutinius atvejus.

Slapukai yra senesnė duomenų išlikimo forma, tačiau jie vis dar labai naudojami. Galbūt norėsite juose patikrinti, ar nėra duomenų, kuriuos reikia perduoti į serverį.