Кэшировать содержимое HTML, храня переменную javascript во внешнем файле js? - PullRequest
3 голосов
/ 03 марта 2010

У меня есть веб-приложение, в котором masterPage / шаблон содержит статический HTML, который никогда не изменяется, но отправляется с каждым запросом. (большая часть этого HTML - скрытые элементы, которые отображаются после того, как пользователь что-то делает)

Мне интересно, есть ли какой-нибудь способ его кеширования?

Я собирался поместить HTML-код в переменную javascript и выполнить document.write или jquery $ (tag) .html (cachedHTML); чтобы получить этот контент. Преимущество заключается в том, что файл javascript будет кэшироваться браузером, и HTML не будет передаваться (ускорение загрузки страницы и уменьшение полосы пропускания).

Есть ли более элегантное решение? И если я пойду по этому пути, есть ли простой способ преобразовать весь HTML в строку javascript, не просматривая HTML и не форматируя его? (удалить пробелы, экранировать двойные кавычки и т. д.) Мысли?

Спасибо!

Обновление: вот информация о YSlow ... эта страница кажется слишком большой? (Есть 3597 элементов DOM)

Некоторые примечания: Что касается файлов JS, есть три основных из них: jquery, jquery-ui и мой глобальный минимизированный js, остальные генерируются asp.net или что-то вроде getsatisfaction

1 Ответ

3 голосов
/ 03 марта 2010

Я могу ошибаться, но для меня это звучит благими намерениями, но не нужно. Если ваш сервер настроен правильно, вывод HTML будет сжат. Если мы не говорим о мегабайтах HTML, каждое изображение на вашей странице будет занимать большую полосу пропускания, чем разметка документа.

По моему опыту, большее беспокойство по поводу огромных кусков HTML-данных заключается в том, как их обрабатывает браузер. HTML-документ размером 2-3 МБ после окончательной визуализации займет в сотни раз больше памяти. Если это так в вашем сценарии, у вас может быть проблема с дизайном, которую даже кэширование не решит.

...