Как стать автором
Обновить

Browser persistence

Время на прочтение2 мин
Количество просмотров1.7K
Browser persistence — техника, позволяющая хранить в браузере довольно большие объемы данных, которые в отличие от cookie не отсылаются на сервер при каждом запросе.

Все уже написано до меня, но на хабре никаких более-менее подробных упоминаний не нашел, поэтому написал краткий обзор — как это работает и собрал ссылки для более подробного изучения.

Как это работает


Firefox

В Firefox 2+ реализован стандарт Web Storage спецификации HTML5. Стандарт предусматривает собой хранение данных в объектах localStorage и sessionStorage, которые отличаются областью видимости данных.

Собственно, сохранять и читать данные очень просто — в key-value парах этих объектов (не только в FF но и в остальных браузерах, поддерживающих Web storage):
sessionStorage["name"] = "Вася";
var name = sessionStorage["name"];


В Firefox есть также globalStorage не описаный в спецификации.

Да, localStorage реализован только в FF версий 3.5+.

Ограничение размера данных — 5MB на домен. Почитать про них можно на сайте Mozilla Developer Center.

Internet Explorer

IE — в восьмой версии так же реализован Web Storage.
Размер хранимых данных — до 10MB.

В версиях IE 5-7 есть интерфейс userData behavior. Ограничение данных: 128K на страницу и 1024K на домен.

Safari

Web storage реализован в только в четвертой версии.

Остальные браузеры

В остальных браузерах с этим как-то глухо. Если в Chrome я наше упоминание о том что в dev версиях браузера можно включить поддержку localStorage, то относительно Opera — не нашел вообще никаких упоминаний.

Но все можно исправить, использовав в этих браузерах небольшой flash-ролик в котором задействован интерфейс sharedObjects. То есть, проверили web storage и userData. Не работает? Вставляем flash и используем его.

Ссылки


Готовую к использованию библиотеку, написанную Ильей Кантором можно найти здесь: browserpersistence.ru.

Более подробная статья Ильи Кантора на http://javascript.ru/unsorted/storage.

Статья John Resig (автора jQuery) о DOM Storage: http://ejohn.org/blog/dom-storage/

И еще одна библиотека PersistJS, но ее я еще не пробовал: http://pablotron.org/?cid=1557
Теги:
Хабы:
Всего голосов 63: ↑53 и ↓10+43
Комментарии20

Публикации

Истории

Работа

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
24 – 25 октября
One Day Offer для AQA Engineer и Developers
Онлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
26 октября
ProIT Network Fest
Санкт-Петербург
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань