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

标签 java caching proxy http-headers httprequest

我发现这个可以完成这项工作:

Cache-Control: private The next higher directive is “cache-control: private”. It instructs proxies in the path not to cache the page. But it permits browsers to cache the page. Proxies are shared resources used by multiple users, and this directive tells them not to cache the response. Browsers, as we have already noted, may still cache the page.

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

谢谢。

最佳答案

如果您使用Servlet,那么您可以添加/设置所需的响应(而非请求)HTTP header 。

简单的例子。

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)

关于java - 如何告诉代理服务器不要缓存响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14165219/

相关文章:

java - 可重入同步陷入无限循环

Java 小程序 - 删除/忽略所有 cookie (JSoup)

c - 有什么方法可以强制编译器不从缓存中删除任意变量吗?

CakePHP 3 : find() with cache

wordpress - 无法通过 HTTPS 访问 WordPress docker 容器的静态文件

java - 为什么我的 toString() 类会被自动覆盖?

java - Bluej - JButton 图像加载

javascript - 使用 JavaScript 在客户端修改 HTTP header

python - 如何在 Python/BS4 中向我的网页抓取脚本添加代理和 header ?

ios - 如果 OSX/iOS 中的网络代理设置发生变化,有没有办法接收通知/回调?