浏览器缓存 - 如果最后一个 REST 请求是 POST/PUT/DELETE,是否可以停止缓存?
Browser Caching - is it possible to stop caching if the last REST request is POST/PUT/DELETE?
我的网站正在缓存 REST 请求。我对网站的速度感到满意,并希望保留缓存。但是,我发现在发出 POST/PUT/DELETE 请求后返回了相同的文件。这意味着不会调用更新后的数据库。刷新页面后也会发生同样的情况。我想在 POST/PUT/DELETE 请求后从数据库中更新信息。
我只是想知道如果最后一个 REST 请求不是 POST/PUT/DELETE,我是否可以设置一个条件语句来缓存文件?该网站托管在共享网络托管平台上,我可以修改 .htaccess 文件。非常感谢任何想法。我希望我的解释很清楚,但如果不清楚,请随时与我们联系。提前谢谢你
要停止浏览器缓存,我们可以在 HTML 中添加以下属性作为元 headers。
Cache-Control: no-cache, no-store, must-revalidate
编译指示:no-cache
过期:0
我们要把上面的headers保存在html页面里面,会在parentHTML中使用。
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
下面的代码可以从 java servlet 或 nodejs
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");
servlet代码示例如下
public void doGet(HttpServletRequest req,HttpServletResponse response) throws ServletException,IOException
{
if(req.get[some field name].equals("last_request")){
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");
}
}
下面link可以参考本帖
我的网站正在缓存 REST 请求。我对网站的速度感到满意,并希望保留缓存。但是,我发现在发出 POST/PUT/DELETE 请求后返回了相同的文件。这意味着不会调用更新后的数据库。刷新页面后也会发生同样的情况。我想在 POST/PUT/DELETE 请求后从数据库中更新信息。
我只是想知道如果最后一个 REST 请求不是 POST/PUT/DELETE,我是否可以设置一个条件语句来缓存文件?该网站托管在共享网络托管平台上,我可以修改 .htaccess 文件。非常感谢任何想法。我希望我的解释很清楚,但如果不清楚,请随时与我们联系。提前谢谢你
要停止浏览器缓存,我们可以在 HTML 中添加以下属性作为元 headers。
Cache-Control: no-cache, no-store, must-revalidate
编译指示:no-cache
过期:0
我们要把上面的headers保存在html页面里面,会在parentHTML中使用。
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
下面的代码可以从 java servlet 或 nodejs
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");
servlet代码示例如下
public void doGet(HttpServletRequest req,HttpServletResponse response) throws ServletException,IOException
{
if(req.get[some field name].equals("last_request")){
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");
}
}
下面link可以参考本帖