Web Storage

From Wikipedia_ru - Reading time: 3 min

HTML
  • HTML
    • HTML5
  • Динамический HTML
  • XHTML
  • XHTML Mobile Profile[англ.]
    • CHTML
  • Document Object Model
  • Кодировки символов
  • Мнемоники в HTML
  • Редактор HTML
  • Элементы HTML
  • Семантическая вёрстка
  • Карта изображений
  • Цвета HTML
  • Формы HTML
  • Фреймы HTML
  • HTML5 audio
    • HTML5 video
  • Canvas
  • Скрипты в HTML
  • Unicode и HTML[англ.]
  • Браузерный движок
  • Quirks mode
  • Каскадные таблицы стилей
  • W3C
    • WHATWG
  • Web Storage
  • WebGL
  • Сравнение:
    • языков разметки документов
    • браузерных движков

Интернет-хранилище или DOM-хранилище — это программные методы и протоколы веб-приложения, используемые для хранения данных в веб-браузере. Интернет-хранилище представляет собой постоянное хранилище данных, похожее на куки, но со значительно расширенной ёмкостью и без хранения информации в заголовке запроса HTTP. Существуют два основных типа веб-хранилища: локальное хранилище (localStorage) и сессионное хранилище (sessionStorage), ведущие себя аналогично постоянным и сессионным кукам соответственно[1].

В настоящее время стандарты Интернет-хранилища разработаны и предложены WWW-консорциумом (W3C). Первоначально стандарты были частью спецификации HTML 5, но сейчас являются отдельной спецификацией[2]. Интернет-хранилище поддерживается Internet Explorer 8 и выше, Mozilla-браузерами (например, Firefox 2+, официально от 3,5), Safari 4 и выше, Google Chrome 4 (поддержка sessionStorage добавлена от 5) и Opera начиная с версии 10.50[3].

Особенности

[править | править код]

Интернет-хранилище упрощённо можно рассматривать как усовершенствование куки. Тем не менее, оно отличается от куки в некоторых ключевых направлениях.

Размер хранилища

[править | править код]

Интернет-хранилище поддерживает гораздо больше места на диске в сравнении с куки, которому доступно всего 4 Кбайта, что примерно в 1000 раз меньше чем у веб-хранилища (5 Мбайт на домен в Mozilla Firefox, Google Chrome, и Opera, и 10 Мбайт в Internet Explorer[4]).

Интерфейс на стороне клиента

[править | править код]

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

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

[править | править код]

Интернет-хранилище предлагает две различных области: локальное хранилище (localStorage) и сессионное хранилище (sessionStorage), которые различаются по своим объёмам и времени жизни. Данные размещаются в отдельное для каждого домена локальное хранилище (оно доступно для всех скриптов из домена, который первоначально добавил данные) и сохраняются после закрытия браузера. Сессия сохраняется по принципу одна страница - одно окно и ограничивается жизнью данного окна, то есть для каждого открытого окна создаётся новая сессия, которая прекращает своё существование при закрытии окна и не зависит от домена, открывшего её. Сохранение сессии предназначено для предоставления отдельных экземпляров одного и того же веб-приложения для работы в разных окнах, не мешая друг другу[5]. В случае с куки подобное становится крайне затруднительно или даже невозможно.

Интерфейс и модель данных

[править | править код]

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

Подобные технологии

[править | править код]
  • HTTP cookie
  • Indexed Database API (прежде WebSimpleDB)
  • Web SQL База Данных
  • Общие локальные объекты в Adobe Flash
  • userData Behavior в Internet Explorer
  • Google Gears

Примечания

[править | править код]
  1. sessionStorage и localStorage. http://msdn.microsoft.com/ru-ru/library/cc197062(v=VS.85).aspx Архивная копия от 1 января 2012 на Wayback Machine
  2. Введение в хранилище HTML5 — http://htmlbook.ru/html5/storage Архивная копия от 31 декабря 2011 на Wayback Machine
  3. Поддержка HTML5-хранилища — http://htmlbook.ru/html5/storage Архивная копия от 31 декабря 2011 на Wayback Machine
  4. Знакомство с хранилищем DOM. Дата обращения: 7 января 2012. Архивировано 1 января 2012 года.
  5. Знакомство с хранилищем DOM. Дата обращения: 7 января 2012. Архивировано 1 января 2012 года.

Ссылки

[править | править код]
This article is licensed under CC BY-SA 3.0.
Original source: https://ru.wikipedia.org/wiki/Web Storage
Status: article is cached
Encyclosphere.org EncycloReader is supported by the EncyclosphereKSF