3

我有一个特定的 Adob​​e CQ5 (5.5) 内容模板,作者将使用它来创建页面。我想从调度程序缓存中排除从此模板创建的任何页面。据我目前了解,我知道防止缓存的唯一方法是将dispatcher.any配置为缓存特定的 URL。但在这种情况下,直到 Web 作者使用模板创建页面时,才知道 URL。我不想在每次创建页面时都返回并修改 dispatcher.any ——或者至少我想在没有其他方法的情况下自动执行此操作。我正在使用 IIS 作为调度程序。我不想缓存页面的原因是因为为这些页面呈现内容的底层 JSP 会生成动态内容,并且页面不使用查询字符串并且不会携带身份验证标头。这些页面将在不可预知的目录中创建,所以我不提前知道 URL 模式。

我该如何配置,以便从某个模板创建的任何页面都将自动从调度程序缓存中排除?

似乎 CQ 应该有一些机制来尊重 HTTP 响应/缓存标头。如果 HTTP 响应标头指定不应缓存响应,那么调度程序似乎不应该缓存它——不管 dispatcher.any 怎么说。这是我一直在参考的 CQ5 文档。

4

2 回答 2

6

我不知道 Dispatcher 的 IIS 版本,但如果您添加自定义 HTTP 标头“dispatcher: nocache”,则肯定使用 Apache 模块,它不会在 Dispatcher 中缓存页面。您需要更改代码以添加此代码,类似于:

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

它也可以用作 html 中的元标记,但我没有尝试过。

这记录在这里:http ://dev.day.com/content/kb/home/Dispatcher/faq-s/DispatcherNoCache.html

于 2012-09-12T09:37:18.443 回答
0

您可以在模板的头部使用缓存控制标签。在此处查看有关 PRAGMA 和 Cache-Control 元标记的信息:HTTP Cache-Control

于 2012-09-06T21:46:21.510 回答