在IE中,在html头中设置了 <HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 元标记时,Web 页仍可能缓存在 Temporary Internet Files 文件夹中。
原因是IE的机制64 KB 缓冲区在达到一半被填满时,会缓存 Internet Explorer 正在浏览的页面。通常情况下,元标记插入到 HTML 文档的标头部分,这部分出现在文档的开头。解析 HTML 代码时是从头到尾读取代码的。当读取 <HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 元标记时,Internet Explorer 检查此时缓存中是否存在该页面。如果存在,则将其删除。但是在其后如果页面大小又大于32K时,IE即有可能缓存。因此在头设置NO-CACHE可能是无效的。
解决方法:
在页面文件的尾部也加一下,这样在从头到尾解析到最后时,如果缓存了页面,那么就将页面的缓存删除。
<HTML>
<HEAD>
<META HTTP-EQUIV="REFRESH" CONTENT="5">
<TITLE> Pragma No-cache </TITLE>
</HEAD>
<BODY>
该示例说明应该在哪里放置第二个标头部分,<br>
以使“Pragama, No-Cache”元标记按预期的那样工作。<br>
</BODY>
<HEAD>
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</HEAD>
</HTML>
本文详细解释了为何在IE中设置HTTP-EQUIV元标记为PRAGMA并设值为NO-CACHE时,Web页仍然可能被缓存在TemporaryInternetFiles文件夹中。主要原因是IE的缓冲区机制导致页面大小超过一定阈值后仍可能被缓存。解决方案是在页面文件的尾部添加同样的元标记,确保页面缓存按预期删除。
1224

被折叠的 条评论
为什么被折叠?



