【问题标题】:How can I tell proxy server not to cache the response?如何告诉代理服务器不要缓存响应?
【发布时间】:2013-01-04 21:24:39
【问题描述】:
我发现这是为了完成这项工作:
Cache-Control: private 下一个更高的指令是“cache-control:
私人的”。它指示路径中的代理不要缓存页面。但
它允许浏览器缓存页面。代理是共享资源
由多个用户使用,并且该指令告诉他们不要缓存
回复。正如我们已经注意到的,浏览器仍然可以缓存
页面。
但是如何将其添加到请求标头中?这些缓存问题与响应标头有关。那么如何在请求头中添加这个参数呢?
谢谢。
【问题讨论】:
标签:
java
caching
proxy
http-headers
httprequest
【解决方案1】:
如果您使用的是Servlets,那么您可以添加/设置所需的response(不是请求)HTTP 标头。
简单的例子。
import javax.servlet.ServletException;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SomeServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// some code here
response.setHeader("Cache-Control", "private");
// some code here
}
}
或者您可以使用response.addHeader("Cache-Control", "private")。
只是在使用setHeader()时,如果已经设置了header,那么新的值会覆盖之前的值。
在此处查看 Java EE API:
void addHeader(String name, String value)
void setHeader(String name, String value)