Kliendipoolne salvestusruum on veebirakenduste jaoks hädavajalik. See ei pruugi olla nii kuulikindel kui serveripoolne salvestusruum, kuid ilma selleta ei saaks veebirakendused rakendada paljusid kaasaegseid funktsioone. Kõik funktsioonid sõltuvad kliendipoolsest salvestusruumist, alates mängude seanssidest kuni ostukärudeni e-kaubanduse veebisaitidel.

Kliendipoolne salvestusruum võimaldab veebirakendustel rakendada ka privaatsuskeskset arhitektuuri. Saate seda kasutada tagamaks, et tundlikud andmed ei lahkuks kunagi kasutaja seadmest.

Mis on kliendipoolne salvestusruum?

Veebiarenduses viitab kliendipoolne salvestus erinevatele viisidele, kuidas veebibrauserid saavad andmeid salvestada. Rakendus saab seejärel kasutada neid andmeid kasutajatele funktsioonide pakkumiseks. Kliendipoolne salvestusruum on kriitilise tähtsusega mitmel põhjusel.

  • Kliendile salvestatud andmetele on juurdepääs oluliselt kiirem ja teie rakendus pääseb neile juurde ilma Internetita.
  • Kliendipoolne salvestusruum hõlbustab teie rakendusel iga kasutaja eelistuste meeldejätmist.
  • instagram viewer
  • Teatud andmete alaline salvestamine kliendis muudab kasutaja privaatsuse kaitsmise lihtsamaks.
  • Kõigi rakenduste andmete salvestamine serverisse on kallis, eriti suurtes mastaapides.

Oma veebirakendustes saate kasutada mitut erinevat kliendipoolset salvestusruumi.

Küpsised

Brauseri küpsis on teie arvutisse stringina salvestatud võtme-/väärtusandmete osa. Brauserid saadavad kõik konkreetse saidi küpsised saidi serverisse iga päringu korral. Küpsised olid esimene (ja mõnda aega ka ainus) kliendipoolne salvestustüüp.

Küpsiste suurusel pole ametlikku piirangut, kuid üksikud brauserid seavad seatavate küpsiste suurusele ja arvule erinevad piirangud. The RFC 6265 jaotis 6.1 sätestab, et brauserid (kasutajaagendid) peaksid pakkuma järgmisi minimaalseid küpsisevõimalusi:

Praktilistel kasutajaagendi rakendustel on salvestatavate küpsiste arvu ja suuruse piirangud. Üldkasutatavad kasutajaagendid PEAKSID pakkuma kõiki järgmisi minimaalseid võimalusi.

  • Vähemalt 4096 baiti küpsise kohta (mõõdetuna küpsise nime, väärtuse ja atribuutide pikkuse summana).
  • Vähemalt 50 küpsist domeeni kohta.
  • Kokku vähemalt 3000 küpsist.

Küpsised võivad brauseris püsida erineva aja jooksul. Mõned aeguvad lehe seansi lõpus ja mõnel on suvalised aegumiskuupäevad, mis võivad ulatuda kuudeni tulevikku.

Brauserid loovad lehe seansi, kui avate uue vahelehe, ja lõpetavad selle, kui sulgete vahekaardi või brauseri. Kui laadite lehe uuesti või värskendate, ei lõpeta brauser lehe seanssi.

Küpsiste kasutamise juhtumid

Küpsised sobivad kõige paremini väikeste andmete salvestamiseks, mida server peab sageli lugema või muutma. Miks?

  • Küpsised lisatakse automaatselt kõikidele võrgupäringutele
  • Küpsised võivad salvestada ainult väikeses koguses stringiandmeid.

Küpsiseid saate kasutada kasutaja tuvastamiseks (nt seansi ID), lehekülastuse salvestamiseks järjehoidjate lisamiseks või mängu rekordite salvestamiseks.

LocalStorage

Sarnaselt küpsisele on localStorage võtme/väärtuste salvestusruum, mis salvestab stringiandmeid. Kuigi mõlemad salvestustüübid on sarnased, erinevad localStorage ja küpsised mitmel viisil.

  • LocalStorage sõltub JavaScriptist.
  • LocalStorage'i andmed asuvad peamiselt brauseris. Peate selle teadlikult serverisse saatma, selle asemel, et brauser seda iga päringu korral saata.
  • LocalStorage'il pole aegumiskuupäeva. See püsib kliendis seni, kuni arendaja selle JavaScriptiga kustutab või kasutaja brauseri salvestusruumi tühjendab.
  • LocalStorage'il on palju suurem salvestusmaht. The WHATWG spetsifikatsioon ei määra kõva piiri, kuid vastavalt Vikipeedia, kohaliku salvestusruumi minimaalne suurus suuremate brauserite seas on 5 MB:

Brauserid piiravad küpsiseid 4 kilobaidiga. Veebisalvestusruum pakub palju suuremat salvestusmahtu:

  • Opera 10.50+ võimaldab 5 MB
  • Safari 8 võimaldab 5 MB
  • Firefox 34 lubab 10 MB
  • Google Chrome lubab 10 MB lähtekoha kohta
  • Internet Explorer lubab 10 MB salvestusruumi kohta

Kasutage LocalStorage'i jaoks ümbriseid

LocalStorage sobib suurepäraselt suure hulga andmete salvestamiseks, millele server harva viitab. Need võivad olla rakenduse kasutajaseaded, teema konfiguratsiooni üksikasjad või hiljuti täidetud vormi andmed. Selle põhjuseks on asjaolu, et localStorage'il on palju suurem salvestuslimiit kui küpsistel, kuid selle andmete serverisse saatmiseks peate tegema lisapingutusi.

Kui salvestate andmed JSON-vormingus, saate kohaliku salvestusruumi abil salvestada suhteliselt keerukaid andmeid, kuigi see suudab salvestada ainult stringe.

LocalStorage on haavatav XSS rünnakud, seega ei tohiks te sellesse talletada tundlikke kliendiandmeid.

SessionStorage

SessionStorage on võtmete/väärtuste hoidla, mis töötab peaaegu sama mis localStorage, välja arvatud üks asi. Salvestatud andmed säilivad ainult lehe seansi jooksul.

Kasutage SessionStorage'i jaoks ümbriseid

Saate kasutada SessionStorage'i, et salvestada sama tüüpi andmeid kui localStorage, kuid ainult siis, kui andmed ei pea säilima pärast lehe seanssi.

IndekseeritudDB

IndexedDB on võimas brauseri API suure hulga struktureeritud andmete salvestamiseks. See on tehingupõhine objektorienteeritud andmebaas, mis salvestab andmed võtme/väärtuse paaridena.

Kui tegelete väiksema andmemahuga, on localStorage/sessionStorage parem ja lihtsam valik. Kahjuks piirab neid nende salvestusmaht ja asjaolu, et nad saavad salvestada ainult stringiandmeid. IndexedDB mitte ainult ei võimalda salvestada erinevat tüüpi andmeid, sealhulgas faile / binaarandmeid, vaid see võib salvestada ka palju rohkem andmeid. IndexedDB koostab ka oma sisust indeksid, et võimaldada andmebaasist kiiret otsimist.

Kasutage IndexedDB jaoks juhtumeid

IndexedDB on sisuliselt brauseris NoSQL-i andmebaas ja see võib salvestada väga suuri andmemahtusid. IndexedDB jaoks sobivad kõik kasutusjuhud, mis nõuavad üle 10 MB andmete salvestamist.

Erinevalt teistest brauseri salvestusvormidest ei piirdu IndexedDB stringide salvestamisega. IndexedDB saab salvestada kõigi standardsete JavaScripti tüüpide andmeid. Kui loote veebirakenduse peamiselt võrguühenduseta töötamiseks, saate kõigi rakenduse andmete salvestamiseks kasutada IndexedDB-d.

Kliendipoolne salvestusruum on paindlik ja võimas

Termin kliendipoolne salvestus viitab rakenduse andmete salvestamisele brauseris. Kliendipoolne salvestusruum on enamiku kaasaegsete veebirakenduste toimimiseks hädavajalik. Kliendipoolseid salvestusi on erinevat tüüpi: küpsised, kohalik/sessionStorage ja IndexedDB.

Kõigil brauseri salvestustüüpidel on erinevad piirangud nende mahule ja salvestatavate andmete tüübile. Küpsised on kõige piiratumat tüüpi, kõige mugavam on kohalik/sessionStorage ja võimsaim IndexedDB.