Küpsised vs LocalStorage: mis vahe on?

Küpsised - Foto: rawpixel saidil Unsplash

Pikka aega olid küpsised peamine viis teie rakendust või veebisaiti külastavate kasutajate teabe salvestamiseks. Neid kasutati selliste oleklike elementide salvestamiseks nagu ostukorv või kasutaja muudetud valikud. Neid kasutati ka kasutajate sirvimisharjumuste meeldejätmiseks või kasutajalt sisse logimiseks, kui nad ühelt lehelt teisele liikusid. Seejärel ilmus sündmuskohale HTML5 ja tutvustas veel ühte andmesalvestusvõimalust LocalStorage. See uus Javascripti objekt (koos SessionStorage'iga) oli palju suurema salvestusmahuga kui küpsised ilmatu 5MB-ga. Selles artiklis võrdleme ja vastandame küpsiseid ja LocalStorage'i.

Küpsised - väikesed, kuid vägevad
Esiteks uurime kõigepealt küpsiste põhiteavet. Vaatame üle ka mõned nende plussid ja miinused. Mis on küpsised? Whatarecookies.com andmetel on tegemist väikeste tekstifailidega, mille veebisait paigutab kasutaja arvutisse. Neil on väga väike andmemaht maksimaalse mahuga 4KB. Küpsiseid kasutatakse erineval viisil, näiteks saidil külastatud lehtede või kasutaja sisselogimisteabe salvestamiseks. Need on piiratud sellega, et nad saavad hoida ainult keelpille.

Paljud turvalised veebisaidid kasutavad küpsiseid oma kasutajate identiteedi kontrollimiseks pärast sisselogimist, et nad ei peaks oma volikirju igal leheküljel uuesti sisestama. Teine küpsiste kasutamine on saidi piiratud sirvimisajaloo põhjal kasutajakogemuse kohandamine või kohandamine.

Kaks tüüpi küpsised - Foto: Oliya Nadya saidil Unsplash

Kahte tüüpi küpsised
On kahte tüüpi küpsiseid: püsiküpsised ja sessiooniküpsised. Seansiküpsised ei sisalda aegumiskuupäeva. Selle asemel säilitatakse neid ainult seni, kuni brauser või vahekaart on avatud. Niipea kui brauser suletakse, kaovad need jäädavalt. Seda tüüpi küpsist võidakse kasutada pangakasutaja mandaadi salvestamiseks, kui nad navigeerivad oma panga veebisaidil, kuna nende teave ununeks kohe, kui vahekaart suletakse.

Püsivatel küpsistel on aegumiskuupäev. Neid küpsiseid salvestatakse kasutaja kettale aegumiskuupäevani ja kustutatakse seejärel jäädavalt. Neid saab kasutada muuks tegevuseks, näiteks kasutaja harjumuste registreerimiseks konkreetsel veebisaidil, et kohandada nende kogemusi iga kord, kui nad külastavad.

Macbook - Foto on rawpixel saidil Unsplash

LocalStorage - püsivam lahendus
Pärast HTML5 väljaandmist asendati paljud küpsiste kasutusviisid LocalStorage'i kasutamisega. Seda seetõttu, et LocalStorage'il on küpsiste ees palju eeliseid. Üks olulisemaid erinevusi on see, et erinevalt küpsistest ei pea andmeid iga HTTP-päringuga edasi-tagasi saatma. See vähendab kliendi ja serveri vahelist üldist liiklust ja raisatud ribalaiust. Selle põhjuseks on asjaolu, et andmed salvestatakse kasutaja kohalikule kettale ja Interneti-ühenduse kaotamine ei hävita neid ega kustuta neid. Samuti, nagu varem mainitud, mahutab LocalStorage kuni 5 MB teavet. See on palju rohkem kui 4KB, mida küpsised hoiavad.

LocalStorage käitub aegumise osas pigem püsivate küpsiste moodi. Andmeid ei hävitata automaatselt, kui need pole JavaScripti koodi kaudu kustutatud. See võib olla kasulik suurema hulga andmete korral, mida tuleb pikemaks ajaks säilitada. Lisaks saate LocalStorage'iga salvestada mitte ainult stringe, vaid ka Javascripti primitiivid ja objektid.

Veebisaiti külastavad inimesed - John Schnobrichi foto saidil Unsplash

LocalStorage'i kasutusviisid
Minu tagaveebide arendamise kursusel arutasime juhtumeid, kus LocalStorage oleks küpsistest parem. LocalStorage'i hea kasutamise näide võib olla rakenduses, mida kasutatakse piirkondades, kus pole püsivat Interneti-ühendust. Minu kursuse juhendaja Dani Roxberry ehitas varem sellise rakenduse ja kasutas LocalStorage'i täpse WiFi või andmeühendusega piirkondades kogutud andmete kaitsmiseks ja salvestamiseks.

Selleks, et see saaks LocalStorage'i hästi kasutada, peaks selles olukorras salvestatud andmete ohutase olema väga madal. Kliendi privaatsuse kaitsmiseks oleks hea ühenduse loomise ajal andmed üles laadida ja seejärel kohapeal salvestatud versioon kustutada. Lisaks oleks kasulik krüpteerida salvestatavad andmed nii, et neid ei oleks lihtne häkkida. Oma klassiarutelus tuvastasime ka, et eriti haavatavaid andmeid, näiteks finantsteavet, ei saanud LocalStorage'i abil sel viisil õigesti säilitada ega kaitsta.

Järeldus
Nendel salvestusvõimalustel on oma plussid ja miinused, kuid mõlemal on rakendused kaasaegses veebiarenduses. Küpsised on väiksemad ja saadavad serveriteabe iga HTTP-päringuga tagasi, samas kui LocalStorage on suurem ja mahutab teavet kliendi poolel.

Järgmise rakenduse koostamisel mõelge nendele erinevatele kasutusviisidele ja otsustage, milline salvestusviis sobib teile.

See lugu on avaldatud Mediumi suurimas ettevõtlusväljaandes The Startup, millele järgneb +390 426 inimest.

Liituge, et saada meie parimaid lugusid siit.