请解释以下3个语句以及何时在jsp中使用它们?

时间:2012-05-25 06:07:01

标签: jsp

response.setHeader("Cache-Control","no-store"); 
response.setHeader("Pragma","no-cache"); 
response.setDateHeader ("Expires", 0);

2 个答案:

答案 0 :(得分:0)

这些缓存控制设置可用于您不希望浏览器本地存储内容的页面。大多数Web开发人员不希望使用这些,因为它们可能会对性能产生负面影响。您可能希望使用它的示例是您拥有广泛的动态资源。

expires标记告诉浏览器页面在呈现后过期。 “因此,将EXPIRES设置为0可用于在每次访问时强制进行修改检查。”

答案 1 :(得分:0)

您需要设置适当的HTTP标头属性,以防止JSP页面输出的动态内容被浏览器缓存。您可以通过在JSP页面的开头执行以下scriptlet来防止它们在浏览器中缓存。您需要这两个语句来处理一些较旧的浏览器版本。

<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server
%>

通过在HTML标题中使用元标记可以实现相同的效果:

<meta http-equiv="Pragma" content="no-cache">
 <meta http-equiv="Cache-Control" content="no-cache">
 <meta http-equiv="Expires" content="Thu, 01 Dec 2011 00:00:00 GMT">

您可以参考here了解更多信息。