


Резюме. Клиентские хранилища. Технологии будущего. Оптимизация структуры веб-страниц
userData behavior
Flash Local Shared Object
WHATWG DB Backend (openDatabase)
globalStorage и localStorage
Google Gears
Библиотеки для работы с клиентскими хранилищами
Резюме
К сожалению, даже создатели HTML5 не предусмотрели возможности адресации к хранилищу посредством URL. Было бы очень удобно, положив в хранилище JavaScript или графическое изображение, подключить содержимое через обычный тег HTML*.
* - создатели Google Gears озаботились доступом к бинарным данным из своего хранилища, изображениями можно манипулировать и выводить в окно браузера, при помощи специального расширения, используя тег Canvas
Необходимо помнить, что хранилище клиентское и данные, сохран?нные в хранилище, не будут доступны клиенту на другой машине и даже (увы) в другом браузере. Так что наиболее подходящее использование клиентских хранилищ - кэширование текстовых данных: JavaScript, CSS, а значит данных о состоянии приложения и его редко изменяемых ресурсов, которые выгоднее хранить на стороне пользователя.
Принцип использования прост: проверяется наличие нужного ресурса в хранилище, если ресурс обнаружен, он загружается из хранилища, если нет, с сервера (например, при
помощи AJAX) и сохраняется в хранилище. Далее соответствующий тег с полученным содержимым создаётся в DOM.
К сожалению, браузер Opera не предоставляет никакого встроенного хранилища, хотя в нём можно использовать Flash Local Shared Object, зато современные версии остальных браузеров не нуждаются в установке каких-либо дополнительных плагинов. Хранилище | Ограничение | Браузеры |
userData behavior | Интранет - 512КБ каждая запись, 10МБ на домен, ограниченные узлы - 64КБ/640КБ, остальные - 128КБ/1МБ | IE 5.0+ |
globalStorage | 5МБ | FF 2.0+, IE 8 beta 1 |
localStorage | FireFox, Safari - 5МБ Internet Explorer - 10MiB | FF 3.5+, Safari 4+, IE 8 beta 2+ |
openDatabase | 5МБ | Safari 3.1+, Google Chrome 3+ |
Google Gears | Запрашивает разрешение на использование, ограничений по размеру нет | Встроен в Google Chrome, плагин для IE 6+, Opera Mobile 9.51+, FF 1.5+, IE Mobile 4.01+, Safari 3.1.1+ |
Flash | Запрашивает разрешение на хранение более 100КБ данных, ограничений по размеру нет | Плагин для IE, FF, Google Chrome, Safari |