如何告诉代理服务器不要缓存响应?

时间:2013-01-04 21:24:39

标签: java caching proxy http-headers httprequest

我发现这是为了完成这项工作:

  

Cache-Control:private下一个更高的指令是“cache-control:   私人的”。它指示路径中的代理不缓存页面。但   它允许浏览器缓存页面。代理是共享资源   多个用户使用,这个指令告诉他们不要缓存   响应。正如我们已经指出的那样,浏览器仍然可以缓存   页。

但是如何将此添加到请求标头?这些缓存问题与响应标头相关。那么我应该怎么做才能将此参数添加到请求标题?

感谢。

1 个答案:

答案 0 :(得分:2)

如果您使用 Servlets ,则可以添加/设置所需的响应(非请求)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()时,如果已经设置了标题,则新值将覆盖前一个。

请参阅Java EE API:
void addHeader(String name, String value)
void setHeader(String name, String value)