Küpsised vs localStorage

Hiljuti tehti mulle suurettevõtte intervjuu ajal üks küsimus. Küsimus oli: “Rääkige mulle küpsiste ja localStorage'i erinevust?” Ja kuigi mul oli väga lai ettekujutus sellest, millised erinevused võivad olla, arvasin, et sukeldun sellesse teemasse natuke rohkem.

Sissejuhatus küpsistesse

Mis on küpsised? Noh, ma võin kindlasti öelda, et nad pole just need, mida võite leida suupistete vahekorrast, kui ihaldate suhkrurikkaid maiustusi. Tegelikult on küpsised väikesed failid, mis asuvad kasutaja arvutis. Nende eesmärk on hoida kliendi ja veebisaidi jaoks suures koguses andmeid, millele pääseb juurde kas veebiserveri või kliendi arvuti kaudu. Selle põhjuseks on see, et server võib lubada edastada konkreetsele kasutajale kohandatud lehe või leht võib ise sisaldada skripti, mis teab küpsise andmeid, ja seetõttu on see võimeline kandma teavet ühelt veebisaidi külastuselt järgmise juurde.

Mida küpsis sisaldab? Noh, iga küpsis on tegelikult väike otsingulaud, mis sisaldab paari võtme-, andmeväärtusi. Kui küpsis on serveri või kliendi arvutis koodi läbi lugenud, saab andmeid hankida ja kasutada veebisaidi sobivaks kohandamiseks.

Küpsised on üsna mugav viis teabe edastamiseks ühelt veebisaidi seansilt teisele või seotud veebisaitide seansside vahel, ilma et peaksite serverimasinat koormama tohutul hulgal andmesalvestust. Kui salvestaksime andmeid serverisse ilma küpsiseid kasutamata, oleks konkreetse kasutaja teabe hankimine ilma veebisaidi iga külastuse sisselogimist nõudmata keeruline. Seetõttu saab küpsist lihtsalt kasutada, kui talletamiseks on palju teavet. Lisaks võib küpsise panna püsima suvalise aja jooksul.

Sissejuhatus localStorage'i

localStorage on viis andmete salvestamiseks kliendi arvutisse. See võimaldab salvestada võtme- / väärtuspaare veebibrauseris ja salvestab andmeid aegumiskuupäevata. localStorage'i pääseb juurde ainult JavaScripti ja HTML5 kaudu. Kasutajal on siiski võimalus brauseri andmed / vahemälu tühjendada, et kustutada kõik localStorage'i andmed. Veebisalvestust võib lihtsustatult vaadata küpsiste täiustamisena, pakkudes palju suuremat salvestusmahtu. Saadaolev suurus on 5 MB, mis on rohkem ruumi töötamiseks kui tavaline 4KB küpsis. Lisaks localStorage'ile ei saadeta andmeid iga HTTP-päringu korral tagasi serverisse (HTML, pildid, JavaScript, CSS jne), mis vähendab kliendi ja serveri vahelist liiklust. Lõpuks töötab see sama päritolupoliitikaga, seega on salvestatud andmed saadaval ainult sama päritolu kohta.

Erinevused küpsiste ja localStorage'i vahel

Küpsised ja kohalik salvestusruum teenivad erinevaid eesmärke. Küpsised on mõeldud peamiselt serveripoolseks lugemiseks, samas kui kohalikku salvestusruumi saab lugeda ainult kliendipoolne. Lisaks andmete salvestamisele on suur tehniline erinevus salvestatavate andmete maht ja nagu ma juba mainisin, annab localStorage teile rohkem tööd. Kokkuvõtteks tuleks küsida nende kahega suheldes: kas teie rakenduses on neid andmeid vaja - klient või server?