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

Подготовили: Евгений Рыжков и Татьяна Головко Дата публикации: 09.03.2011

HTML5 хранилище дает возможность веб сайтам сохранять данные на компьютере пользователя. Технология схожа с cookie, но позволяет сохранять большие объемы данных. Cookie ограничены в размерах. К тому же браузер их посылает при каждом запросе новой страницы, а это дополнительные затраты времени и трафика. HTML5 хранилище хранит данные на компьютере пользователя и обращение к ним происходит только при необходимости посредством Javascript.

В: Действительно ли локальное хранилище является частью HTML5? Почему тогда оно в отдельной спецификации?

О: Коротко говоря — да, это часть HTML5. Более подробно: локальное хранилище — это одна из основных составляющих HTML5. Его вынесли в отдельную спецификацию по причине «раздутости» HTML5. Фактически, спецификацию просто разделили на части, чтобы она не была уж очень большой. Это типа, как нарезать пирог на несколько частей, и думать, что общее количество калорий уменьшилось. В общем, добро пожаловать в дурацкий мир стандартов.

Проверка поддержки локального хранилища происходит приемом №1, описанным ранее. Если браузер поддерживает HTML5 хранилище, у глобального объекта window будет доступно свойство localStorage, иначе оно будет не определено (undefined). Выполнить проверку можно следующей функцией:

function supports_local_storage() {
return ('localStorage' in window) && window['localStorage'] !== null;
}

или с помощью Modernizr:

if (Modernizr.localstorage) {
// window.localStorage доступно!
} else {
// встроенной поддержки локального хранилища нет :(
// наверное придется использовать Gears или другое решение от сторонних разработчиков
}

Обрати внимание, что Javascript чувствителен к регистру. В Modernizr атрибут именуется как localstorage (все в нижнем регистре),а в DOM свойство имеет смешанный регистр - window.localStorage.

В: Насколько надежно защищена информация в базах данных HTML5 хранилища? Кто-нибудь интересовался этим?

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

Куда дальше

Показать комментарии