让HTML和JSP网页页面不缓存文件从Web服务器上再次

2021-03-21 02:44 jianzhan
客户撤出后,假如点一下访问器上的后退按钮,Web运用将不可以正保证护受维护的网页页面——在Session消毁后(客户撤出)受维护的JSP页再次在访问器中显示信息出来。
但是,假如客户点一下回到网页页面上的任何连接,Web运用可能自动跳转到登录网页页面并提醒Session has ended.Please log in.

上述难题的根本原因在于绝大多数访问器都有1个后退按钮。

当点一下后退按钮时,默认设置状况下访问器并不是从Web服务器上再次获得网页页面,而是从访问器缓存文件中加载网页页面。

根据Java的Web运用仍未限定这1作用,在根据PHP、ASP和.NET的Web运用中也一样存在这1难题。
好运的是,HTTP头信息内容“Expires”和“Cache-Control”为运用程序流程服务器出示了1个操纵访问器和代理商服务器上缓存文件的体制。

HTTP头信息内容Expires告知代理商服务器它的缓存文件网页页面什么时候将到期。
HTTP1.1标准中新界定的头信息内容Cache-Control能够通告访问器不缓存文件任何网页页面。

当点一下后退按钮时,访问赏识新浏览服务器已获得网页页面。

以下是应用Cache-Control的基础方式:
1) no-cache:强制性缓存文件从服务器上获得新的网页页面
2) no-store: 在任何自然环境下缓存文件不储存任何网页页面

商业保险起见,对html网页页面和jsp最好是都加1些设定

针对HTML网页页面,添加:

拷贝编码
编码以下:

<meta HTTP-EQUIV="pragma" CONTENT="no-cache">
<meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<meta HTTP-EQUIV="expires" CONTENT="0">

针对JSP网页页面,添加:

拷贝编码
编码以下:

<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragrma","no-cache");
response.setDateHeader("Expires",0);
%>

便可以了。