请给出下面3条语句的解释以及何时在jsp中使用它们?

response.setHeader("Cache-Control","no-store"); 
response.setHeader("Pragma","no-cache"); 
response.setDateHeader ("Expires", 0);
1
额外 编辑
意见: 1
家庭作业 ??? :)
额外 作者 Harry Joy,
使用引号内的条款进行网页搜索。如有必要,请回来一个更详细的问题
额外 作者 Jens Schauder,
如果您不希望浏览器缓存您的网页,请参阅此链接 i18nguy.com/markup/metatags.html
额外 作者 mprabhat,

2 答案

您需要设置适当的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">

您可以参阅此处了解更多信息。

0
额外

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

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

0
额外
谢谢你的回答。
额外 作者 Sonu,
如果你喜欢它,你可以通过点击复选标记来接受它吗?
额外 作者 Orbiting Eden,