HTML5 Локальное хранилище и хранилище сеансов

Помимо того, что он не является постоянным и ограниченным только текущим окном, существуют ли какие-либо преимущества (производительность, доступ к данным и т.д.) для хранения сеанса через локальное хранилище?

Ответ 1

localStorage и sessionStorage расширяют хранилище. Между ними нет никакой разницы, за исключением предполагаемого "непостоянства" sessionStorage.

То есть данные, хранящиеся в localStorage сохраняются до тех пор, пока не будут явно удалены. Внесенные изменения сохраняются и доступны для всех текущих и будущих посещений сайта.

Для sessionStorage изменения доступны только для каждой вкладки. Внесенные изменения сохраняются и доступны для текущей страницы на этой вкладке, пока она не будет закрыта. После закрытия сохраненные данные удаляются.

Ответ 2

Единственное различие заключается в том, что localStorage имеет другое время истечения срока действия, sessionStorage будет доступен только тогда, когда и в открывшемся окне оно открыто.
localStorage длится до тех пор, пока вы его не удалите или пользователь удалит его.
Предположим, что вы хотите сохранить имя пользователя и пароль для входа в систему, которые вы хотели бы использовать sessionStorage over localStorage по соображениям безопасности (т.е. Другой человек, обращающийся к своей учетной записи позднее).
Но если вы хотите сохранить пользовательские настройки на своем компьютере, вам, вероятно, понадобится localStorage. В целом:

localStorage - использовать для долгосрочного использования.
sessionStorage - используйте, когда вам нужно сохранить что-то, что меняется или что-то временное

Ответ 3

Несколько других моментов, которые могут быть полезны для понимания различий между локальным и сеансовым хранилищем

  • Как локальное хранилище, так и хранилище сеансов привязаны к исходному документу, поэтому

    https://mydomain.com/
    http://mydomain.com/
    https://mydomain.com:8080/

    Все указанные выше URL будут не совместно использовать одно и то же хранилище. (Путь уведомления к веб-странице не влияет на веб-хранилище)

  • Хранилище сеансов отличается даже для того, чтобы документ с той же политикой происхождения открывался на разных вкладках, поэтому одна и та же веб-страница открыта на двух разных вкладках не может совместно использовать одно и то же хранилище сеансов.

  • Локальное и сеансовое хранилище также ограничено поставщиками браузеров. Таким образом, данные хранения, сохраненные IE, не могут быть прочитаны Chrome или FF.

Надеюсь, что это поможет.

Ответ 4

Основное различие между localStorage и sessionStorage заключается в том, что sessionStorage является уникальным для каждой вкладки. Если вы закроете вкладку sessionStorage, удалите ее, localStorage не будет. Также вы не можете общаться между вкладками:)

Еще одна тонкая разница заключается в том, что, например, в Safari (8.0.3) localStorage имеет ограничение 2551 k символов, но sessionStorage имеет неограниченное хранилище

В Chrome (v43) оба localStorage и sessionStorage ограничены 5101 k символами (без разницы между обычным/приватным режимом)

В Firefox оба localStorage и sessionStorage ограничены 5120 k символами (без разницы между нормальным/инкогнито)

Нет никакой разницы в скорости:)

Там также проблема с Mobile Safari и Mobile Chrome, Safari для частного режима и Chrome имеет максимальное пространство в 0KB

Ответ 5

производительность, мои (сырые) измерения не обнаружили разницы в 1000 пишет и читает

безопасность мудрая, интуитивно казалось бы, что localStore может быть закрыт перед sessionStore, но не имеет конкретных доказательств - может быть, кто-то другой делает?

функциональный мудрый, согласный с digitalFresh выше

Ответ 6

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

Ответ 7

Локальное хранилище может хранить до 10 Мб автономных данных (в хром 10 мб, в других браузерах 5 мб), тогда как хранение сеанса может хранить до 5 мб данных. Но файлы cookie могут хранить только 4kb текстовые данные. Подробнее см. здесь

Ответ 8

Хранилище сеансов Ya и локальное хранилище одинаковы по сравнению с тем, которое является локальным хранилищем, будут хранить данные до тех пор, пока пользователь не удалит кеш и файлы cookie и данные хранения сеанса не сохранятся в системе до тех пор, пока мы не закроем сеанс i, e пока мы не закроем созданное окно хранения сеанса.

Ответ 9

Нет никакой разницы между ними, кроме Storage, но sessionStorage для сеанса (вкладка или для окна) и localStorage существует для домена до тех пор, пока он явно не будет удален (вызов метода clear или сброс денежных средств браузера).

Ответ 10

Преимущество хранения сеанса над локальным хранилищем, на мой взгляд, заключается в том, что он имеет неограниченную емкость в Firefox и не будет сохраняться дольше, чем сеанс. (Конечно, это зависит от вашей цели.)

Ответ 11

Локальное хранилище: оно хранит данные пользовательской информации без истечения срока действия, эти данные не будут удалены, когда пользователь закрывает окна браузера, которые будут доступны для дня, недели, месяца и года.

//Set the value in a local storage object
localStorage.setItem('name', myName);

//Get the value from storage object
localStorage.getItem('name');

//Delete the value from local storage object
localStorage.removeItem(name);//Delete specifice obeject from local storege
localStorage.clear();//Delete all from local storege

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

//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";

Подробнее нажмите

Ответ 12

  • sessionStorage поддерживает отдельную область хранения для каждого данного источника, доступную на время сеанса страницы (до тех пор, пока браузер открыт, включая перезагрузку и восстановление страницы)

  • localStorage делает то же самое, но сохраняется даже при закрытии и повторном localStorage браузера.

Я взял это из https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API