配置客户端进行输出缓存

设置响应缓存时间

对于不经常变化的数据,在 Servlet 中可以为其设置合理的缓存时间值,以避免浏览器频繁向服务器发送请求,从而提升服务器性能。

public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String data = "abcddfwerwesfasfsadf";

    /**
     * 设置数据合理的缓存时间值,以避免浏览器频繁向服务器发送请求,提升服务器的性能
     * 这里是将数据的缓存时间设置为1天
     */
    response.setDateHeader("expires", System.currentTimeMillis() + 24 * 3600 * 1000);
    response.getOutputStream().write(data.getBytes());
}Code language: JavaScript (javascript)

通过 response.setDateHeader("expires", ...) 设置 Expires 响应头,告诉浏览器对该资源进行缓存。缓存时间内,用户再次访问(包括刷新页面)时,浏览器不会向服务器发送请求,而是直接从本地缓存中读取数据。

注意Expires 头使用的是 GMT 时间(毫秒值),上述代码通过 System.currentTimeMillis() + 24 * 3600 * 1000 计算出当前时间之后一天的毫秒值,浏览器据此判断缓存是否过期。如需兼容 HTTP/1.1 的缓存控制,可配合 Cache-Control 头一起使用。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注