【发布时间】:2025-11-26 05:50:01
【问题描述】:
如果资源(index.html)已经缓存在客户端,例如使用响应头:
"Cache-Control": "max-age=0, must-revalidate, proxy-revalidate"
如何防止 tomcat 在 next 对服务器的请求中响应 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 覆盖 if-modified-since 标头,并使用过去的值(例如 Mon, 06 Dec 2010 01:34:46 GMT)但没有运气 - 尽管该文件在 2015 年被修改,但客户端仍然收到 304 个响应。
有什么办法可以防止 304 响应?也许通过tomcat配置?
【问题讨论】:
标签: http tomcat servlets caching servlet-filters