2009-03-18 3 views
0

Я предполагаю, что очень распространенный сценарий заключается в том, что целую динамическую страницу можно кэшировать таким образом, чтобы можно было обойти весь стек фреймов/CMS, за исключением того, что некоторые небольшие объемы информации изменяется в зависимости от того, зарегистрирован ли кто-либо или нет. Например, меню может измениться с «login» на «Welcome Somebody!». Нет, конечно, нет возможности кэшировать страницу. Одно решение, о котором я думал, будет загружать эту информацию через AJAX после того, как страница уже загружена. У кого-нибудь есть совет здесь?Как сделать полноэкранное кэширование с динамической информацией

ответ

1

Напишите поток страниц в файловую систему. Назовите файл со всем URL, включая строку запроса. Если страница содержит данные сеанса, укажите идентификатор сеанса в имени файла. Храните список кешированных страниц с их именами где-нибудь, чтобы вы могли посмотреть, находится ли что-то в кеше, не заходя в файловую систему.

Это по существу то, что делает FatWire Content Server.

0

Поскольку это, как представляется, является агностиком языка, вы можете создать временный файл с необработанным выходом страницы, а затем, когда одна и та же страница будет загружена снова, выгрузите содержимое временного файла непосредственно в ответ HTTP текущую страницу.

+0

Что изменилось бы при изменении информации, если кто-то вошел в систему? – blockhead

+0

Если контекст настроен для каждого пользователя, вы можете сохранить ссылку на страницу в этом сеансе пользователя. –

Смежные вопросы