Поиск

Страницы

Архив

Категории

Последние комментарии

Размер шрифта:

AAA

Design by Creative Design Studio
Inspired by Zen Garden #200

 Записи    Комментарии

 RSS в Yandex   RSS в Google

 Feedburner   RSS на Email


количество читателей онлайн и всего   

     

 

}{ранить или нет данные в cookies

Эта запись опубликована 5 июня, 2007, Вторник в 11:29
в рубрике «Javascript».

Некоторое время мне не давала покоя идея о том, как хранить достаточно большие объемы данных на стороне клиента. Необходимость этого выросла из идеи создания единожды закачиваемых и далее хранимых у клиента скриптов, дабы не тягать их постоянно с сервера, скажем для того же визуального редактора или библиотеки типа Prototype / jQuery.

И единственным решением виделись “печенюшки” (cookies), механизм работы с которыми через Javascript существует, поэтому вариант вполне рабочий. Однако как хранить большие данные в кукисах, если максимальный размер их не должен превышать 4 кб? Разбить на массив? Можно, и это был бы единственный выход. Но тут всплывает главный подводный камень - все, что вы сохраните в кукисах будет каждый раз передаваться на сервер. Мда… Такой вариант автоматически отпадает.

А отчего же не использовать механизмы кэширования с отдачей “правильных” заголовков клиенту? - спросите вы, и будете правы. Отвечу:

  • Мне необходимо иметь возможность самому регулировать изменились ли данные, или нет.
  • Часто браузеры не реагируют даже на правильные заголовки, не говоря уже о принудительной перезагрузке, когда все, что даже было закэшировано, принимается с сервера заново. А при работе с сайтом, приходится нажимать на кнопку “Куакуыр” (”Refresh” - неплохой перевод от Punto Switcher =) ) постоянно. И вот здесь то уже и хотелось бы уметь отфильтровывать - что мне надо перегружать, а что нет.

И вот совсем уж нежданно-негаданно Google анонсировал замечательное решение этой проблемы: Google Gears. Это надстройка над браузерами IE и Firefox, обеспечивающая возможность хранения данных и проведения фоновых ресурсоемких вычислений на стороне клиента. Последний пункт мне также по душе, однако пока что не могу придумать дельного назначения этой возможности.

Превосходное решение, имеющее лишь одно ограничение - пока (?) нет расширения для моего любимого браузера Opera =( Что-ж… Будем надеяться и ждать…

Кстати уже начинают появляться и инструменты для работы с Gears, например недавно вышла примочка, написанная на Flex (технология от Adobe), для управления базой данных Gears. правда у меня в седьмом эксплорере она развалилась…

Комментарии (6) на “}{ранить или нет данные в cookies”


  1. По поводу куков. Чем не устраивает механизм сессий, если сделать их перманентными (или аналог, если обычные сессии не получается сделать сохранять на произвольно заданный промежуток времени)?

    offtop. А в чём прикол такого написания буквы «Х»? Вот такие мы загадочные ;-)?


  2. Данные сессии также будут передаваться с сервера. А это тот самый траффик от которого хочется уйти…

    Букву “Х” так захотелось написать потому, что это “компьютерно-сленговый” вариант из “Хоттабыча”. Рекомендую, кстати, к просмотру упомянутый к.ф.!


  3. Для сессии передаётся небольшой блок данных о самой сессии (фиксированного размера). Или ты хочешь уйти вообще от всякого трафика?


  4. Да, но данные сессии то с сервера передаются в этом случае в полном объеме. Хочу уйти от трафика.

    Например: мы заводим сессию и сохраняем в ней полметра данных. Клиент каждый раз из кукисов или с запросом нам возвращает идентификатор сессии. В ответ мы ему возвращаем все полметра данных. если же мы будем пользовать Gears, то все полметра останутся у клиента.


  5. Что, правда что ли данные сессии перегоняются на клиента? Я думал, что сессия — чисто server-side понятие. Прям хоть тесты проводи 8-)


  6. Думал правильно! Тока вот когда клиент по своей сессии от раза к разу загребает полметра скриптов - нехорошо. Особливо для разработчика, который сидит и обновляет свою страницу, и обновляет…

    Также хорошим решением, подсказанным тобой, действительно будет защита от потери заполнения данными формы или коммента / поста… Вернулся после неудачи (браузер слетел, жена браузер закрыла, питание вырубили) - а браузер тебе - мол вот, у меня тут текст небольшой завалялся, нужен еще, нет?

Оставить комментарий

 

 

 

Verification Image

 


XHTML: Вы можете использовать эти теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>