哪个更适合no-cache pragma?在标题或元标记中设置它还是两者都设置?

时间:2012-02-15 01:13:49

标签: php zend-framework no-cache

我目前正在使用Zend Framework,并且对于各种控制器中的一些操作,它具有为无缓存设置的编译指示。其中一些使用元标记,其他人设置标题。在标题或元标记中设置它更好吗?哪个浏览器更容易听?

1 个答案:

答案 0 :(得分:1)

HTML元标记易于使用,但通常效果不佳。 HTTP标头使您可以控制浏览器缓存和代理如何处理对象。因此,我肯定会建议您使用HTTP标头而不是HTML元标记。

另请注意,PHP Headers会阻止代理和浏览器缓存页面,据我所知,您无法阻止代理使用HTML元标记缓存页面。

另一件需要考虑的事情来自Microsoft支持:

  

Internet Explorer正在浏览的页面直到一半才被缓存   填充64 KB缓冲区。通常,元标记被插入   HTML文档的标题部分,显示在开头   该文件。解析HTML代码时,会从顶部读取   底部。当metatag是   阅读,Internet Explorer查找缓存中页面的存在   在那个确切的时刻。如果它存在,则将其删除。

所以这是进入控制器的方法:

$this->getResponse()->setHeader('Pragma', 'no-cache', true);

你甚至可以编写一个ressource插件,在你的所有页面中为你完成。