Складиштење на страни клијента је од суштинског значаја за веб апликације. Можда није отпоран на метке као складиште на страни сервера, али без њега веб апликације не би могле да имплементирају многе модерне функције. Све врсте функција зависе од складишта на страни клијента, од сесија у игрицама до колица за куповину на веб локацијама за е-трговину.

Складиштење на страни клијента такође омогућава веб апликацијама да имплементирају архитектуру усредсређену на приватност. Можете га користити да бисте осигурали да осетљиви подаци никада не напуштају уређај корисника.

Шта је складиште на страни клијента?

У веб развоју, складиште на страни клијента се односи на различите начине на које веб прегледачи могу да складиште податке. Апликација затим може да користи ове податке да корисницима пружи функционалност. Складиштење на страни клијента је критично из неколико разлога:

  • Подацима ускладиштеним на клијенту је знатно бржи приступ, а ваша апликација може да им приступи без интернета.
  • Складиштење на страни клијента олакшава вашој апликацији да запамти преференције сваког корисника.
  • instagram viewer
  • Трајно чување неких података на клијенту олакшава заштиту приватности корисника.
  • Чување свих података апликације на серверу је скупо, посебно у великим размерама.

Постоји неколико различитих облика складиштења на страни клијента које можете да користите у својим веб апликацијама.

Колачићи

Колачић претраживача је део података кључ/вредност који се чува као стринг на вашем рачунару. Прегледачи шаљу све колачиће за одређену локацију серверу сајта на сваки захтев. Колачићи су били први (и неко време једини) тип складиштења на страни клијента.

Не постоји званично ограничење величине колачића, али појединачни прегледачи постављају различита ограничења на величину и број колачића које можете да подесите. Тхе РФЦ 6265 Одељак 6.1 наводи следеће минималне могућности колачића које претраживачи (кориснички агенти) треба да обезбеде:

Практичне имплементације корисничког агента имају ограничења у погледу броја и величине колачића које могу да чувају. Кориснички агенти опште употребе ТРЕБА да обезбеде сваку од следећих минималних могућности:

  • Најмање 4096 бајтова по колачићу (мерено збиром дужине имена, вредности и атрибута колачића).
  • Најмање 50 колачића по домену.
  • Укупно најмање 3000 колачића.

Колачићи могу остати у претраживачу различито време. Неки истичу на крају сесије странице, а неки имају произвољне датуме истека који се могу протегнути чак месецима у будућност.

Прегледачи креирају сесију странице када отворите нову картицу, а завршавају је када затворите картицу или прегледач. Ако поново учитате или освежите страницу, претраживач неће прекинути сесију странице.

Случајеви употребе колачића

Колачићи су најпогоднији за складиштење малих делова података које сервер често треба да прочита или измени. Зашто?

  • Колачићи се аутоматски прилажу свим мрежним захтевима
  • Колачићи могу да складиште само мале количине стринг података.

Можете да користите колачиће да идентификујете корисника (попут ИД-а сесије), забележите посету страници у сврху обележавања или сачувате најбољи резултат игре.

Локално складиште

Као и колачић, лоцалСтораге је складиште кључева/вредности које чува податке стрингова. Иако су оба типа складиштења слична, лоцалСтораге и колачићи се разликују на неколико начина:

  • ЛоцалСтораге зависи од ЈаваСцрипт-а.
  • Подаци у лоцалСтораге се налазе првенствено у претраживачу. Морате га намерно послати на сервер, уместо да га прегледач шаље на сваки захтев.
  • ЛоцалСтораге нема датум истека. Опстаје на клијенту све док га програмер не избрише помоћу ЈаваСцрипт-а или док корисник не избрише складиште у прегледачу.
  • ЛоцалСтораге има много већи капацитет складиштења. Тхе ВХАТВГ спец не наводи чврсту границу, али према Википедиа, минимална величина лоцалСтораге међу главним претраживачима је 5 МБ:

Прегледачи ограничавају колачиће на 4 килобајта. Веб складиште пружа далеко већи капацитет складиштења:

  • Опера 10.50+ дозвољава 5 МБ
  • Сафари 8 дозвољава 5 МБ
  • Фирефок 34 дозвољава 10 МБ
  • Гоогле Цхроме дозвољава 10 МБ по пореклу
  • Интернет Екплорер дозвољава 10 МБ по простору за складиштење

Случајеви коришћења за ЛоцалСтораге

ЛоцалСтораге је савршен за складиштење велике количине података на које сервер ретко треба да упућује. То могу бити корисничка подешавања апликације, детаљи о конфигурацији теме или подаци у недавно попуњеном обрасцу. То је зато што лоцалСтораге има много веће ограничење складиштења од колачића, али морате уложити додатни напор да пошаљете његове податке на сервер.

Ако податке чувате као ЈСОН, можете да складиштите прилично сложене податке користећи лоцалСтораге, иако може да складишти само стрингове.

ЛоцалСтораге је рањив на КССС напади, тако да не би требало да складиштите осетљиве клијентске податке у њему.

СессионСтораге

СессионСтораге је складиште кључева/вредности које функционише скоро исто што и лоцалСтораге, осим једне ствари. Сачувани подаци трају само током сесије странице.

Случајеви коришћења за СессионСтораге

Можете да користите СессионСтораге за складиштење истог типа података као и лоцалСтораге, али само када подаци не морају да трају након сесије странице.

ИндекедДБ

ИндекедДБ је моћан АПИ претраживача за складиштење великих количина структурираних података. То је трансакцијска, објектно оријентисана база података која чува податке у паровима кључ/вредност.

Ако имате посла са мањим количинама података, лоцалСтораге/сессионСтораге је бољи и лакши избор. Нажалост, они су ограничени својим капацитетом складиштења и чињеницом да могу да чувају само низове података. ИндекедДБ не само да омогућава складиштење различитих типова података укључујући датотеке/бинарне податке, већ може да складишти и много више података. ИндекедДБ такође конструише индексе свог садржаја како би омогућио брзо претраживање базе података.

Случајеви употребе за ИндекедДБ

ИндекедДБ је у суштини НоСКЛ база података у претраживачу и може да складишти веома велике количине података. Сваки случај употребе који захтева складиштење преко 10 МБ података је прикладан за ИндекедДБ.

За разлику од других облика складиштења претраживача, ИндекедДБ није ограничен на чување стрингова. ИндекедДБ може да складишти податке свих стандардних ЈаваСцрипт типова. Ако направите веб апликацију која ће првенствено радити ван мреже, можете користити ИндекедДБ за складиштење свих података апликације.

Складиштење на страни клијента је флексибилно и моћно

Термин складиштење на страни клијента односи се на складиштење података апликације у претраживачу. Складиштење на страни клијента је од суштинског значаја за функционисање већине модерних веб апликација. Постоје различити типови складишта на страни клијента: колачићи, локални/сессионСтораге и ИндекедДБ.

Сви типови складишта претраживача имају различита ограничења у погледу свог капацитета и врсте података које могу да складиште. Колачићи су најограниченији тип, локални/сессионСтораге је најпогоднији, а ИндекедДБ је најмоћнији.