我目前正在使用Zend Framework,并且对于各种控制器中的一些操作,它具有为无缓存设置的编译指示。其中一些使用元标记,其他人设置标题。在标题或元标记中设置它更好吗?哪个浏览器更容易听?
答案 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插件,在你的所有页面中为你完成。