Бисквитки срещу localStorage

Наскоро бях натоварен с въпрос по време на интервю с голяма компания. Въпросът беше: „Кажете ми разликата между бисквитките и localStorage?“ И въпреки че имах много широка представа какви биха могли да бъдат разликите, реших, че ще се впусна в тази тема малко повече.

Въведение в бисквитките

И така, какво са бисквитките? Е, със сигурност мога да ви кажа, че те не са това, което може да намерите в закуската си, когато хапвате сладки сладки. Всъщност бисквитките са малки файлове, които се намират на компютъра на потребителя. Те са проектирани да съхраняват голямо количество данни, специфични за клиент и уебсайт, и достъп до тях могат да бъдат извършени или от уеб сървъра, или от клиентския компютър. Причината за това е да се позволи на сървъра да достави страница, пригодена за конкретен потребител, или самата страница може да съдържа скрипт, който знае данните в бисквитката, и следователно е в състояние да носи информация от едно посещение на уебсайта. към следващия.

И така, какво съдържа бисквитка? Е, всяка бисквитка е ефективно малка таблица за търсене, съдържаща двойки ключови, стойности на данни. След като бисквитката е прочетена от кода на сървъра или клиентския компютър, данните могат да бъдат извлечени и използвани за персонализиране на уеб страницата по подходящ начин.

Бисквитките са почти удобен начин за пренасяне на информация от една сесия на уебсайт в друга или между сесии на свързани уебсайтове, без да се налага да натоварвате сървърна машина с огромно количество съхранение на данни. Ако трябва да съхраняваме данни на сървъра, без да използваме бисквитки, тогава би било трудно да извлечем информация за конкретен потребител, без да се изисква влизане при всяко посещение на уебсайта. Следователно, бисквитка може просто да се използва, ако има голямо количество информация, която да се съхранява. Освен това може да се направи бисквитка, която да се запазва за произволен период от време.

Въведение в местното хранилище

localStorage е начин за съхранение на данни на компютъра на клиента. Тя позволява запаметяването на двойки ключ / стойност в уеб браузър и съхранява данни без дата на изтичане. достъп до localStorage може да се осъществява само чрез JavaScript и HTML5. Потребителят обаче има възможност да изчисти данните / кеша на браузъра, за да изтрие всички данни от localStorage. Уеб хранилището може да се разглежда опростено като подобрение на бисквитките, осигурявайки много по-голям капацитет за съхранение. Наличният размер е 5MB, което е повече пространство за работа с обичайната бисквитка от 4KB. В допълнение с localStorage, данните не се изпращат обратно към сървъра за всяка HTTP заявка (HTML, изображения, JavaScript, CSS и т.н.), което по този начин намалява обема на трафик между клиент и сървър. И накрая, тя работи на една и съща политика, така че съхранените данни ще бъдат достъпни само при един и същи произход.

Разлики между бисквитките и localStorage

Бисквитките и локалното съхранение служат за различни цели. Бисквитките са главно за четене от страна на сървъра, докато локалното съхранение може да се чете само от страна на клиента. Освен спестяването на данни, голяма техническа разлика е големината на данните, които можете да съхранявате, и както споменах по-рано localStorage ви дава повече работа. В заключение, въпросът, когато се занимавате с двете, трябва да зададете въпроса е във вашето приложение кой се нуждае от тези данни - клиентът или сървърът?