Две системы хранения

Две системы хранения.

Первоначально в Сети на первое место ставилось отображение информации — всего лишь представление ее на экране. Обработкой данных занялись позже: сначала с помощью серверных приложений, а затем также с использованием малопроизводительных сценариев и встраиваемых модулей на клиентской стороне. Тем не менее суть процессов оставалась неизменной: данные подготавливались на сервере и только после этого отображались на компьютере пользователя. Тяжелая работа почти всегда выполнялась на серверной стороне, так как система не располагала возможностями для того, чтобы задействовать ресурсы клиентского компьютера.

Благодаря спецификации HTML5 ситуация уравновесилась. Ориентируясь на особенности мобильных устройств, появление облачных вычислений и необходимость стандартизировать технологии и инновации, внедряемые в течение многих лет посредством встраиваемых модулей, разработчики HTML5 объединили в одной спецификации всю функциональность, позволяющую выполнять полноценные приложения на пользовательских компьютерах даже в отсутствие сетевого подключения.

Одна из самых востребованных возможностей любого приложения — хранение данных, однако у веб-приложений не было эффективного

Механизма, позволяющего записывать данные в постоянное хранилище и по необходимости обращаться к ним. Для хранения небольших порций информации на клиентской стороне использовались файлы cookie, однако их природа такова, что они поддерживают запись лишь коротких строк и применять их удобно далеко не во всех ситуациях.

API Web Storage (веб-хранилище) — это, по сути, следующая ступень развития файлов cookie. Этот API позволяет записывать данные на жесткий диск пользователя и обращаться к ним так же, как это делается в настольных приложениях. Процессы сохранения и извлечения данных, поддерживаемые этим API, применимы в двух ситуациях: когда информация должна быть доступна только в течение одного сеанса и когда ее необходимо сохранить надолго — до тех пор, пока пользователь сам не удалит ее. Таким образом, для упрощения жизни разработчиков этот API разделили на две части — sessionStorage и localStorage:

— sessionStorage. Это механизм хранения, удерживающий данные только на протяжении сеанса одной страницы. В действительности, в отличие от настоящих сеансов, здесь речь идет об информации, доступ к которой есть только у одного окна или вкладки браузера, причем как только окно или вкладка закрывается, эта информация удаляется. В спецификации используется термин «сеанс», поскольку информация сохраняется даже при обновлении содержимого окна, а также в случае, когда пользователь открывает новую страницу того же веб-сайта;

— localStorage. Этот механизм работает аналогично системам хранения для настольных приложений. Данные записываются навсегда, и приложение, сохранившее их, может обращаться к этой информации в любой момент.

Оба механизма работают через один и тот же интерфейс и предлагают одинаковые методы и свойства. Кроме того, оба механизма завязаны на источник, то есть любая информация в хранилище доступна только через тот веб-сайт, который ее создал. У каждого веб-сайта есть собственное пространство хранилища, которое в зависимости от используемого механизма очищается при закрытии окна или не очищается никогда.

В этом API существует четкое разграничение временных и постоянных данных, благодаря чему становится намного проще конструировать как небольшие приложения, требующие временного хранения всего нескольких строк (например, содержимого корзины в интернет-магазине), так и объемные и сложные приложения, в которых нередко возникает необходимость сохранять на неопределенное время целые документы.

Большинство браузеров корректно работают с данным API только в том случае, когда источником является настоящий сервер. Мы рекомендуем для проверки следующих примеров кода загружать соответствующие файлы на сервер.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *