7

Какие преимущества у Session Storage по сравнению с Local Storage?

1

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

5 ответ(ов)

1

Единственное различие между sessionStorage и localStorage заключается в их времени жизни.

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

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

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

В заключение:

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

Несколько дополнительных моментов, которые могут помочь понять различия между локальным хранилищем (local storage) и сеансовым хранилищем (session storage):

  1. Оба типа хранилищ ограничены по доменному origen, поэтому:

    https://mydomain.example/ 
    http://mydomain.example/
    https://mydomain.example:8080/
    

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

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

  3. Как локальное, так и сеансовое хранилище также ограничено по вендорам браузеров. Поэтому данные, сохраненные в Internet Explorer, не могут быть прочитаны в Chrome или Firefox.

0

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

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

В Chrome (v43) как localStorage, так и sessionStorage ограничены 5101 кб (разницы между обычным и инкогнито режимами нет).

В Firefox также оба хранилища ограничены 5120 кб (разницы между обычным и приватным режимами нет).

По скорости разницы нет совершенно 😃

Есть также проблема с Mobile Safari и Mobile Chrome: в режиме приватного просмотра Safari и Chrome максимальный объем хранилища составляет 0 КБ.

0

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

0

С точки зрения производительности, мои (грубые) измерения не показали разницы при 1000 операциях записи и чтения.

С точки зрения безопасности, интуитивно кажется, что localStore может быть отключен раньше, чем sessionStore, но у меня нет конкретных доказательств — возможно, у кого-то есть информация по этому поводу?

С функциональной точки зрения согласен с digitalFresh выше.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь