Как исключить из кеша диспетчера CQ5 страницы, созданные по определенному шаблону?

У меня есть специальный шаблон содержимого Adobe CQ5 (5.5), который авторы будут использовать для создания страниц. Я хочу исключить любую страницу, созданную из этого шаблона, из кеша диспетчера. Насколько я понимаю в настоящее время, единственный известный мне способ предотвратить кеширование — это настроить dispatcher.any так, чтобы он не кэшировал определенный URL-адрес. Но в этом случае URL-адрес неизвестен до тех пор, пока веб-автор не использует шаблон для создания страницы. Я не хочу возвращаться и модифицировать dispatcher.any каждый раз, когда создается страница, или, по крайней мере, я хочу автоматизировать это, если нет другого пути. Я использую IIS для диспетчера. Причина, по которой я не хочу кэшировать страницы, заключается в том, что базовые JSP-страницы, отображающие содержимое этих страниц, создают динамическое содержимое, а страницы не используют строки запросов и не содержат заголовков аутентификации. Страницы будут создаваться в непредсказуемых каталогах, поэтому я заранее не знаю шаблон URL.

Как настроить так, чтобы любая страница, созданная на основе определенного шаблона, автоматически исключалась из кеша диспетчера?

Похоже, что CQ должен иметь какой-то механизм для учета заголовков ответа/кеширования HTTP. Если в заголовках HTTP-ответа указано, что ответ не следует кэшировать, похоже, что диспетчер не должен его кэшировать — независимо от того, что говорит dispatcher.any. Это документация CQ5, на которую я ссылался.


person Shawn    schedule 04.09.2012    source источник


Ответы (2)


Я не знаю о версии диспетчера IIS, но, конечно, с модулем Apache, если вы добавите собственный HTTP-заголовок «диспетчер: nocache», он не будет кэшировать страницу в диспетчере. Вам нужно будет изменить код, чтобы добавить это, что-то вроде:

    request.setHeader("Dispatcher", "nocache");

Это также может работать как метатеги в html, но я этого не пробовал.

Это задокументировано здесь: http://dev.day.com/content/kb/home/Dispatcher/faq-s/DispatcherNoCache.html

person antonyh    schedule 12.09.2012
comment
Идеально, именно то, что я искал. - person Shawn; 13.09.2012

Вы можете использовать теги управления кешем в заголовке шаблона. См. информацию о метатегах PRAGMA и Cache-Control здесь: HTTP Cache-Control.

person m0therway    schedule 06.09.2012