Книга: JavaScript. Подробное руководство, 6-е издание
20.1.1. Срок хранения и область видимости
20.1.1. Срок хранения и область видимости
Объекты localStorage
и sessionStorage
отличаются сроком хранения данных и областью видимости хранилища. Объект localStorage
представляет долговременное хранилище данных: срок хранения не ограничен, и данные сохраняются на компьютере пользователя, пока не будут удалены веб-приложением или пока пользователь не потребует от броузера (посредством некоторого пользовательского интерфейса, предоставляемого броузером) удалить их.
Доступность данных в объекте localStorage
ограничивается происхождением документа. Как описывалось в разделе 13.6.2, происхождение документа определяется такими параметрами, как протокол, имя хоста и номер порта, поэтому все следующие URL-адреса ссылаются на документы с разным происхождением:
http://www.example.com // Протокол: http: имя хоста: www.example.com
https://www.example.com // Другой протокол
http://static.example.com // Другое имя хоста
http://www.example.com:8000 // Другой порт
Все документы, имеющие одно и то же происхождение, будут совместно использовать одни и те же данные в объекте localStorage
(независимо от происхождения сценария, который фактически обращается к хранилищу localStorage
). Они смогут читать и изменять данные друг друга. Но документы с разными происхождениями никогда не смогут прочитать или изменить данные друг друга (даже если оба они будут выполнять сценарий, полученный с одного и того же стороннего сервера).
Обратите внимание, что видимость данных в хранилище localStorage
также ограничивается конкретным броузером. Если посетить сайт с помощью Firefox, а затем вновь посетить его, например, с помощью Chrome, никакие данные, сохраненные при первом посещении, не будут доступны при втором посещении.
Данные, сохраняемые в sessionStorage
, имеют другой срок хранения: они хранятся, пока остается открытым окно верхнего уровня или вкладка броузера, в которой выполнялся сценарий, сохранивший эти данные. При закрытии окна или вкладки все данные, хранящиеся в sessionStorage
, удаляются. (Отметьте, однако, что современные броузеры имеют возможность повторно открывать недавно закрытые вкладки и восстанавливать последний сеанс работы с броузером, поэтому срок хранения информации об этих вкладках и связанных с ними хранилищах sessionStorage
может оказаться больше, чем кажется.)
Доступность данных в хранилище sessionStorage
, как и в хранилище localStorage
, ограничивается происхождением документа, т. е. документы с разным происхождением никогда не смогут совместно использовать одни и те же данные в sessionStorage
. Но помимо этого доступность данных в хранилище sessionStorage
ограничивается также окном. Если пользователь откроет в броузере две вкладки, отображающие документы с общим происхождением, эти две вкладки будут владеть разными хранилищами sessionStorage
. Сценарий, выполняющийся в одной вкладке, не сможет прочитать или изменить данные, сохраненные в другой вкладке, даже если в обеих вкладках будет открыта одна и та же страница и будет выполняться один и тот же сценарий. Обратите внимание, что разграничение хранилищ sessionStorage
в разных окнах касается только окон верхнего уровня. Если в одной вкладке броузера будет находиться несколько элементов <iframe>
и в этих фреймах будут отображаться документы с общим происхождением, они будут совместно использовать одно и то же хранилище sessionStorage
.
- 20.2.1. Атрибуты cookie: срок хранения и область видимости
- Область видимости
- Оптимальная структура хранения записей
- Наик Дайлип Системы хранения данных в Windows
- Глава 10 Возможности подсистемы хранения данных в различных версиях Windows NT
- 1.7 Иерархия драйверов систем хранения и типы драйверов
- 1.8 Ввод-вывод типичного приложения хранения данных
- 2.5 Логические единицы хранения (LUN)
- 6.6 Файловые системы для сетей хранения данных
- Добавление цели в рабочую область для собраний
- Добавление повестки в рабочую область для собраний
- Добавление участников в рабочую область