👩‍💻 Local Storage и Cookies – оба инструмента используются для хранения данных на стороне клиента, но у них есть несколько ключевых отличий: 1. Объем хранимых данных - Cookies: Обычно ограничены до 4 КБ на каждый cookie. Это достаточно мало для большинства современных веб-приложений. - Local Storage: Позволяет хранить до 5–10 МБ данных в зависимости от браузера. Это значительно больше, чем у cookies, и дает возможность сохранять большие объемы информации. 2. Срок жизни данных - Cookies: Могут иметь срок жизни, который задается через параметр expires. Если этот параметр не указан, то данные будут храниться только до закрытия браузера (сессионный cookie). Однако, при необходимости, вы можете задать дату истечения срока действия cookie. - Local Storage: Данные хранятся бессрочно, пока пользователь их не удалит вручную или приложение не очистит хранилище программным способом. 3. Передача данных на сервер - Cookies: При каждом запросе к серверу браузер автоматически отправляет все соответствующие cookies вместе с HTTP-запросами. Это может увеличивать объем передаваемых данных и замедлять работу приложения. - Local Storage: Данные остаются исключительно на клиентской стороне и никогда не отправляются на сервер без явного указания со стороны разработчика. 4. Безопасность - Cookies: Поскольку они передаются с каждым HTTP-запросом, существует риск перехвата данных злоумышленниками. Для повышения безопасности часто используют защищённые (secure) и HttpOnly-cookies. - Local Storage: Эти данные не отправляются на сервер, поэтому они менее подвержены перехвату при передаче. Тем не менее, если сайт уязвим для XSS-атак, злоумышленник может получить доступ к данным Local Storage. 5. Доступность - Cookies: Доступны на всех страницах одного домена, а также могут делиться между поддоменами, если задан соответствующий параметр. - Local Storage: Ограничивается одним источником (origin), что означает, что данные доступны только на тех страницах, которые принадлежат одному и тому же источнику (протокол + домен + порт). 6. Синхронизация между вкладками - Cookies: Обновления происходят синхронно между всеми открытыми вкладками браузера, так как данные пересылаются на сервер и обратно. - Local Storage: Изменения в одной вкладке не синхронизируются автоматически с другими вкладками. Чтобы добиться синхронизации, нужно использовать события вроде storage, которые позволяют отслеживать изменения. Когда использовать Cookies? - Когда необходимо передавать данные на сервер с каждым запросом (например, аутентификационные токены). - Когда требуется установить ограничение времени хранения данных (например, сессия пользователя). Когда использовать Local Storage? - Когда нужно сохранить большое количество данных на стороне клиента. - Когда данные должны оставаться на клиенте надолго и не требуют передачи на сервер. - Когда нужна высокая производительность за счет отсутствия отправки данных на сервер при каждом запросе.
3 года назад
Использование localStorage с React Hooks
Источник: WebForMyself.com localStorage — это один из двух механизмов веб-хранилища браузера. Он позволяет пользователям сохранять данные в виде пар ключ / значение в браузере для последующего использования. В отличие от механизма sessionStorage, который сохраняет данные в хранилище браузера, пока открыта текущая вкладка браузера, localStorage не очищает данные при закрытии браузера. Это делает его идеальным для хранения данных, не привязанных к текущей вкладке браузера. Разработчики часто...