Http 在Tomcat中防止304未修改响应
如果资源(index.html)已缓存在客户端中,例如使用响应头:Http 在Tomcat中防止304未修改响应,http,tomcat,servlets,caching,servlet-filters,Http,Tomcat,Servlets,Caching,Servlet Filters,如果资源(index.html)已缓存在客户端中,例如使用响应头: "Cache-Control": "max-age=0, must-revalidate, proxy-revalidate" 如何防止tomcat在对服务器的下一个请求中使用304 Not Modified进行响应?我想强制服务器响应200,而不是304,不管怎样。 我试着设置 httpResp.setHeader("Cache-Control", "no-cache, no-store, must-revalidate,
"Cache-Control": "max-age=0, must-revalidate, proxy-revalidate"
如何防止tomcat在对服务器的下一个请求中使用304 Not Modified
进行响应?我想强制服务器响应200,而不是304,不管怎样。
我试着设置
httpResp.setHeader("Cache-Control", "no-cache, no-store, must-revalidate, proxy-revalidate");
httpResp.setHeader("Pragma", "no-cache");
httpResp.setHeader("Expires", "0");
但它只在第二个请求中起作用。第一个请求仍然得到304。
我尝试使用HttpServletRequestWrapper
覆盖(如果自以来修改过)标题,使用过去的值,例如Mon,06 Dec 2010 01:34:46 GMT
,但运气不好-尽管该文件在2015年被修改,客户端仍收到304条响应。
有什么办法可以阻止我的回应吗?可能通过tomcat配置?不确定这是否有帮助,但您可以尝试以下方法-
删除浏览器缓存以从头开始并测试其是否有效
改编自另一个问题-
更改cachingAllowed标志后,可能必须删除/work/Catalina/localhost中的应用程序缓存文件夹。
可以在server.xml中引入配置,如下所示
<Context className="org.apache.catalina.core.StandardContext"
cachingAllowed="false"
charsetMapperClass="org.apache.catalina.util.CharsetMapper"
cookies="true"
reloadable="false"
wrapperClass="org.apache.catalina.core.StandardWrapper">
</Context>