Окончательное руководство по локальному хранилищу в JavaScript

Окончательное руководство по локальному хранилищу в JavaScript

Содержание
  1. Что такое localStorage?
  2. Преимущества localStorage
  3. Недостатки localStorage
  4. Методы localStorage
  5. Заключение
  6. Глоссарий

Cookies были единственным способом хранения временной и локальной информации, но теперь у нас есть localStorage. LocalStorage широко обсуждается и используется в различных Javascript-приложениях. В этой статье мы рассмотрим все, что вам нужно знать о localStorage в Javascript.

Что такое localStorage?

Представьте, что вы заполняете форму в Интернете, и ваше устройство отключается от интернет-соединения. Вы заполнили свое имя и возраст, осталось заполнить название страны и пол. Вы заполняете их, все еще отключившись от Wi-Fi. Как только вы снова подключитесь к Wi-Fi, вы отправите заполненную форму.

Когда вы вводили название страны и пол, не будучи подключенным к Интернету, заметили ли вы, что можете снова войти в систему без потери информации? Это и есть localStorage.

Window.localStorage - это свойство, доступное только для чтения, которое хранит данные в веб-браузере без использования языка на стороне сервера. Используется только Javascript. Эти данные хранятся в явном виде в используемом домене и протоколе. Также информация хранится в виде пар ключ-значение в файле SQLite, расположенном в подпапке профиля пользователя.

В частности, она используется для запоминания содержимого корзины, входа на сайт и отслеживания того, включил ли пользователь темный режим. Это связано с тем, что срок хранения данных в localStorage не истекает. Кроме того, он продолжает хранить данные после закрытия браузера.

Рекомендуется использовать localStorage только для нечувствительной информации, поскольку он подвержен атакам межсайтового скриптинга (XSS) и другим атакам на основе Javascript. Кроме того, данные localStorage для документа, загруженного в сеансе ”приватного просмотра” или “инкогнито”, очищаются при закрытии последней вкладки “приватного просмотра”.

Преимущества localStorage

Использование localStorage имеет множество преимуществ. На первом месте среди них - способность хранить данные даже после закрытия браузера. Ниже перечислены некоторые из его преимуществ:

Данные хранятся с помощью пар ключ-значение. Срок хранения данных не истекает. Информация хранится на стороне клиента. Данные не удаляются автоматически, если не используется код Javascript. Даже после закрытия браузера данные сохраняются. При каждом HTTP-запросе пересылка данных туда и обратно не требуется. Он может хранить до 5 МБ данных.

Недостатки localStorage

Использование localStorage имеет ряд преимуществ, но у него есть и недостатки. Вот несколько из них:

Его не следует использовать для хранения приватной и важной информации, поскольку он подвержен атакам межсайтового скриптинга (XSS). Он не имеет защиты данных, что делает его доступным для любого кода. Он может содержать только строки, но может быть сериализован с помощью JSON.stringify(). К нему нельзя получить доступ с разных доменов или поддоменов.

Различия между Cookies и localStorage

Cookies - это просто данные, хранящиеся в небольших текстовых файлах на вашем устройстве. Они поддерживают состояние пользователя и запоминают его информацию на всех веб-страницах. Cookies и localStorage имеют общие характеристики, но что отличает их друг от друга? Вот различия между Cookies и localStorage:

CookieslocalStorageУ них есть срок действия.У них нет срока действия.Cookies считываются сервером.Они считываются только браузером.Максимальный объем памяти составляет 4 КБ.Максимальный объем памяти составляет 5 МБ.Достаточно восприимчивы к межсайтовому скриптингу (XSS) и другим атакам на основе Javascript.Очень восприимчивы к XSS-атакам на основе Javascript и другим атакам на основе Javscript. Это связано с тем, что localStorage никогда не был задуман как безопасный. Он не имеет защиты данных. Он достаточно безопасен. Он вообще не безопасен. Синтаксис localStorage

Это синтаксис localStorage в Javascript:

qIWAT0L.png
qIWAT0L.png

Методы localStorage

Существует четыре метода, которые мы используем для работы с localStorage. К ним относятся

setItem(): Этот метод сохраняет данные в localStorage. Он принимает пару ключ-значение и добавляет ее в localStorage.

sBwhsCN.png
sBwhsCN.png

getItem(): Этот метод считывает данные из localStorage. Он принимает ключ и возвращает соответствующее значение.

eUTJqlB.png
eUTJqlB.png

removeItem(): Этот метод удаляет данные из localStorage. Он делает это, беря ключ и удаляя соответствующую пару ключ-значение.

Coo1LPP.png
Coo1LPP.png

clear(): Этот метод очищает localStorage от домена.

glrIMDk.png
glrIMDk.png

Лучший способ учиться - это кодить и видеть, как все работает. Мы будем использовать четыре метода, чтобы понять, как они работают. Откройте консоль браузера и откройте Инструменты разработчика.

Введите localStorage, и вам будут возвращены данные, хранящиеся в данный момент (предполагается, что изначально они пустые):

EHVLHKy.png
EHVLHKy.png

Введите localStorage.setItem('myKey', 'testValue'). Строковое значение будет сохранено в ключе myKey:

viXbgQa.png
viXbgQa.png

undefined означает, что значение не было возвращено. Введите localStorage еще раз, чтобы просмотреть сохраненные данные.

RoLul3i.png
RoLul3i.png

Введите localStorage.getItem('myKey'), и будет возвращена соответствующая строка:

AaCi4Xz.png
AaCi4Xz.png

Введите localStorage.removeItem('myKey'), чтобы очистить соответствующую пару ключ-значение:

XJnnj9M.png
XJnnj9M.png

undefined означает, что значение не возвращается, показывая, что пара ключ-значение была очищена. Для подтверждения введите localStorage. Возвращаемая длина равна 0.

Azkuvhg.png
Azkuvhg.png

Введите localStorage.clear(), чтобы очистить localStorage от домена:

guUayag.png
guUayag.png

Заключение

В этой статье мы рассмотрели localStorage и способы его использования. Подумайте о том, чтобы добавить этот инструмент в свой кодинг!

Глоссарий

Атаки межсайтового скриптинга (XSS). Атаки межсайтового скриптинга (XSS) возникают, когда в браузер жертвы внедряется вредоносный Javascript-код. Домен. Домен - это эквивалент физического адреса вашего сайта. HTTP-запрос. Запрос протокола передачи гипертекста (HTTP) происходит, когда браузер отправляет ”запрос” на сервер веб-сайта для получения информации на веб-странице. Пара ключ-значение. Это набор связанных элементов: уникальный идентификатор (ключ) и значение (величина). Сериализация. Эта процедура превращает объект данных в поток байтов, чтобы его можно было передавать или хранить в памяти. Язык серверной части. Это язык программирования, который выполняет задачи на стороне сервера, прежде чем страница будет отправлена в браузер для рендеринга. Примеры: Python, Golang, PHP, Ruby, Java и т. д. Синхронный. Это означает, что процесс запускается только после завершения или передачи других задач.

СОВЕТ ОТ РЕДАКТОРА: Чтобы узнать больше о localStorage, не пропустите наши статьи A Guide To Using LocalStorage In JavaScript Apps и The Ultimate Guide To Browser-Side Storage.

newsletter_Z1P0UIP.png
newsletter_Z1P0UIP.png

Источник