Печыва супраць localStorage

Нядаўна мне было зададзена пытанне падчас інтэрв'ю з вялікай кампаніяй. Пытанне было "Скажыце мне розніцу паміж печывам і localStorage?" І хоць у мяне было вельмі шырокае ўяўленне аб тым, якія могуць быць адрозненні, я падумаў, што яшчэ больш паглыблюся ў гэтую тэму.

Уводзіны ў кукі

Дык што такое печыва? Ну, я, безумоўна, магу сказаць вам, што яны не тое, што вы можаце знайсці ў сваім закуску, калі прагнеце салодкіх прысмакаў. На самай справе кукі - гэта невялікія файлы, якія знаходзяцца на кампутары карыстальніка. Яны прызначаны для захоўвання вялікай колькасці дадзеных, характэрных для кліента і вэб-сайта, і атрымаць доступ да іх можна праз вэб-сервер або кампутар кліента. Прычына таму ў тым, каб сервер мог даставіць старонку з улікам пэўнага карыстальніка, альбо сама старонка можа змяшчаць нейкі сцэнар, які ведае дадзеныя ў файле cookie, і таму ён можа пераносіць інфармацыю за адзін візіт на сайт да наступнага.

Такім чынам, што ўтрымлівае печыва? Ну кожнае печыва эфектыўна ўяўляе сабой невялікую табліцу пошуку, якая змяшчае пары ключавых, значэнняў дадзеных. Пасля таго, як файл cookie быў прачытаны з дапамогай кода на серверы або кліенце кампутара, дадзеныя могуць быць атрыманы і выкарыстаны для належнай налады вэб-старонкі.

Файлы кукі - гэта зручны спосаб для пераносу інфармацыі з адной сесіі на вэб-сайт альбо паміж сесіямі на адпаведных сайтах, без нагрузкі сервернай машыны вялікім аб'ёмам захоўвання дадзеных. Калі мы хацелі б захоўваць дадзеныя на серверы без выкарыстання файлаў cookie, тады было б цяжка атрымаць інфармацыю пэўнага карыстальніка, не патрабуючы ўваходу ў сістэму пры кожным наведванні гэтага сайта. Такім чынам, кукі можна проста выкарыстоўваць, калі ёсць вялікая колькасць інфармацыі для захоўвання. Акрамя таго, печыва можа захоўвацца на працягу адвольнага часу.

Уводзіны ў localStorage

localStorage - гэта спосаб захоўваць дадзеныя на кампутары кліента. Гэта дазваляе захоўваць пары ключа / значэння ў вэб-браўзэры і захоўвае дадзеныя без тэрміну прыдатнасці. Даступ да localStorage можна атрымаць толькі праз JavaScript і HTML5. Аднак карыстальнік мае магчымасць ачысціць дадзеныя браўзэра / кэш, каб выдаліць усе дадзеныя localStorage. Веб-сховішча можна разглядаць проста як паляпшэнне файлаў cookie, забяспечваючы значна вялікую ёмістасць для захоўвання. Даступны памер - 5 МБ, што дазваляе больш працаваць з звычайным кукі-файлам у 4 КБ. У дадатак да localStorage, дадзеныя не адпраўляюцца назад на сервер для кожнага HTTP-запыту (HTML, выявы, JavaScript, CSS і г.д.), што, такім чынам, памяншае колькасць трафіку паміж кліентам і серверам. Нарэшце, ён працуе на адной палітыцы аднолькавага паходжання, таму дадзеныя, якія захоўваюцца, будуць даступныя толькі з тым самым пачаткам.

Адрозненні паміж кукі і localStorage

Печыва і мясцовае сховішча служаць для розных мэтаў. Файлы cookie ў асноўным для чытання на баку сервера, тады як мясцовае сховішча можа чытаць толькі на кліентах. Акрамя эканоміі дадзеных, вялікая тэхнічная розніца заключаецца ў памеры дадзеных, якія вы можаце захоўваць, і, як я ўжо згадваў, localStorage дае вам больш працы. У заключэнне пытанне, калі мець справу з двума, варта спытаць, у вашым дадатку каму патрэбныя гэтыя дадзеныя - кліент ці сервер?