如何验证缓存是否被禁用(IE7)?

时间:2012-07-24 13:46:32

标签: php html internet-explorer-7 pdflib no-cache

我正在开发一个利用PDFLib为我的用户提供动态PDF文件的应用程序,这些文件汇总了他们的帐户,并且需要确保这些页面没有被缓存(一些敏感数据被传递,我不能将它存储在缓存中出于安全原因)。

我尝试使用以下代码:

Header("Expires:-1");
Header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
Header("Cache-Control: no-store, no-cache, must-revalidate");
Header("Cache-Control: post-check=0, pre-check=0", false);
Header("Pragma:no-cache");

首先,我没有确定的方法来测试IE7没有缓存页面,所以我的第一个问题是“如何测试以确保我的无缓存标头正常工作?”

其次,在我将这些行添加到我的代码后,PDF停止在IE7中显示。当我删除线条时,它工作正常。任何人对如何避免这种行为有任何想法?

提前致谢!

编辑:第一个问题已得到解答;我应该分别问他们。我的第二个问题“如何在发送无缓存标头时避免IE7无法呈现PDFLib页面的行为?”仍然活跃。

2 个答案:

答案 0 :(得分:1)

要检查页面是否已缓存,请更改并刷新。请注意,Expires标头应包含日期,因此-1的值无效。请尝试使用过去的日期。

答案 1 :(得分:0)

我实际上为IE 7找到了调试栏 http://www.debugbar.com/download.php,它显示了所有标头和缓存信息。我使用HTTP(S)选项卡,选择我的文档并查看下面的“信息和缓存”。一旦我掌握了它,真的很容易。