ASP 清除缓存 为啥要设置Response.Buffer = True

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP 清除缓存 为啥要设置Response.Buffer = True相关的知识,希望对你有一定的参考价值。

清除缓存 关闭页面缓存不就行了么?Response.Buffer = false
为什么反而要要Response.Buffer = True 来打开缓存呢?
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"

首先你要搞清楚,所谓的缓存究竟是指服务器的缓存还是客户端(也就是浏览器)的缓存。Response.Buffer指的是服务器的缓存,要清除缓存,必须在缓存打开的情况下才能执行的,如果服务器没有启用缓存处理(即Response.Buffer=False),则所有输出动作都是直接发送给客户端的,就不存在清除问题了。而你题目中的最后四行代码则是关于浏览器缓存的,即不把页面保存到浏览器的缓存文件夹中。

我估计你是把服务器的缓存与浏览器的缓存想成同一个东西了。
参考技术A Response.Buffer = True
是说服务端缓存要输出的网页,等完毕后再一起发送。
这样,你就可以根据需要,中途response.clear把之前的内容清掉

Response.Buffer = false
则网页直接发送给了浏览器,没有机会撤销

这个与是否允许浏览器cache网页是两码事~~

以上是关于ASP 清除缓存 为啥要设置Response.Buffer = True的主要内容,如果未能解决你的问题,请参考以下文章