Есть ли какие-либо преимущества (производительность, доступ к данным и т. Д.) Для хранилища сеансов по сравнению с локальным хранилищем, кроме непостоянного и ограниченного только текущим окном?
javascript
html
local-storage
session-storage
jpkeisala
источник
источник
Ответы:
localStorage и sessionStorage расширяют хранилище . Нет никакой разницы между ними, за исключением предполагаемого «непостоянства»
sessionStorage
.То есть, данные , хранящиеся в
localStorage
упорствует , пока явно не будут удалены . Внесенные изменения сохраняются и доступны для всех текущих и будущих посещений сайта.Для
sessionStorage
, изменения доступны только на вкладке. Внесенные изменения сохраняются и доступны для текущей страницы на этой вкладке, пока она не будет закрыта. После закрытия сохраненные данные удаляются.источник
Единственное отличие состоит в том, что у localStorage другое время истечения,
sessionStorage
он будет доступен только в том случае, если окно, в котором оно было создано, открыто.localStorage
длится до тех пор, пока вы не удалите его или пользователь не удалит его.Допустим, вы хотели сохранить логин и пароль, которые вы хотели бы использовать
sessionStorage
вlocalStorage
целях безопасности (т. Е. Другое лицо, получающее доступ к своей учетной записи позднее).Но если вы хотите сохранить настройки пользователя на его компьютере, вы, вероятно, захотите
localStorage
. В целом:localStorage
- использовать для длительного использования.sessionStorage
- использовать, когда вам нужно хранить что-то, что меняется или что-то временноеисточник
Несколько других моментов, которые могут помочь понять различия между локальным и сессионным хранилищем
Как локальное хранилище, так и хранилище сеансов ограничены источником документа, поэтому
https://mydomain.com/
http://mydomain.com/
https://mydomain.com:8080/
Все вышеперечисленное URL, будет не один и то же хранение. (Обратите внимание, что путь к веб-странице не влияет на веб-хранилище)
Хранилище сеансов отличается даже для документа с одинаковой исходной политикой, открытой на разных вкладках, поэтому одна и та же веб-страница, открытая на двух разных вкладках, не может использовать одно и то же хранилище сеансов.
Как локальное хранилище, так и хранилище сеансов также ограничиваются поставщиками браузеров . Таким образом, данные, сохраненные в IE, не могут быть прочитаны Chrome или FF.
Надеюсь это поможет.
источник
Основное различие между
localStorage
иsessionStorage
заключается в том, чтоsessionStorage
он уникален для каждой вкладки. Если вы закроете вкладку, онаsessionStorage
будет удалена,localStorage
. Также вы не можете общаться между вкладками :)Другое тонкое отличие состоит в том, что, например, в Safari (8.0.3)
localStorage
ограничение в 2551 тыс. Символов ограничено, но объем памятиsessionStorage
не ограничен.На Chrome (v43) оба
localStorage
иsessionStorage
ограничены 5101 k символов (нет разницы между нормальным режимом / режимом инкогнито)В Firefox оба
localStorage
иsessionStorage
ограничены 5120 тыс. Символов (без разницы между обычным / приватным режимом)Нет разницы в скорости вообще :)
Существует также проблема с Mobile Safari и Mobile Chrome, Safari и Chrome в приватном режиме имеют максимальный размер 0 КБ.
источник
sessionStorage
это то же самоеlocalStorage
, за исключением того, что он хранит данные только для одного сеанса, и он будет удален, когда пользователь закроет окно браузера, в котором он был создан.источник
По производительности, мои (грубые) измерения не обнаружили разницы на 1000 операций записи и чтения.
с точки зрения безопасности, интуитивно может показаться, что localStore может быть закрыт до сессии sessionStore, но у него нет конкретных доказательств - может быть, кто-то еще?
функционально, согласен с digitalFresh выше
источник
Я. Хранилище сеансов и локальное хранилище одинаковы по поведению, за исключением того, что локальное хранилище будет хранить данные до тех пор, пока пользователь не удалит кеш, а файлы cookie и данные хранилища сеансов не сохранятся в системе, пока мы не закроем сеанс, т.е. окно хранения сеанса создано.
источник
На мой взгляд, преимущество хранения сеансов над локальным хранением заключается в том, что оно имеет неограниченную емкость в Firefox и не будет сохраняться дольше, чем сеанс. (Конечно, это зависит от вашей цели.)
источник
Локальное хранилище: хранит данные пользовательской информации без срока годности. Эти данные не будут удалены, когда пользователь закрыл окна браузера, они будут доступны на день, неделю, месяц и год.
Хранение сеанса: Это то же самое, что и дата локального хранения, за исключением того, что все окна будут удалены, когда окна браузера закрыты веб-пользователем.
Подробнее Нажмите
источник
Я взял это из https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API
источник