缓存控制代码不适用于jsp中的发布请求

问题描述 投票:0回答:1

我正在使用此代码进行缓存控制。

 response.setHeader("Cache-Control", "no-cache, no-store, must- 
 revalidate"); // HTTP 1.1.
 response.setHeader("Pragma", "no-cache"); // HTTP 1.0.

 response.setHeader("Expires", "0"); // Proxies.

 if (request.getSession(false) == null) {
    response.sendRedirect("Login.jsp");
}
jsp servlets
1个回答
0
投票

参考RFC 2616第9.5节:

“对POST方法的响应不可缓存的,除非响应包括适当的Cache-Control或使标头字段过期。“

因此,您可以缓存POST请求响应,但前提是您要在其中添加适当的标头。您可以如下设置到期时间,然后尝试使用缓存机制。

response.setDateHeader("Expires", System.currentTimeMillis() + 604800000L);

对于代理服务器

response.setDateHeader("Expires", 0);
© www.soinside.com 2019 - 2024. All rights reserved.