首页 > 其他 > 详细

ETag使用

时间:2019-12-23 12:04:06      阅读:87      评论:0      收藏:0      [点我收藏+]

关于ETag相关知识:

具体代码:
    String clientEtag = request.getHeader("If-None-Match");
        if (md5.equals(clientEtag)) {
            response.setHeader("If-None-Match", "false");
            response.setStatus(304);
            return this.buildResult(RequestCode.success,"图片下载成功");
        }
        String contextType = "image/" + contentType;
        response.setHeader("content-type", contextType);
        response.setContentType(contextType);
        response.setHeader("ETag", md5);
        response.setHeader("If-None-Match", "true");
        OutputStream outputStream = response.getOutputStream();
        this.readStream(outputStream, inputStream);- 
  • 其中md5为文件摘要,第一次加载图片时,将md5放入header的ETag中,并将header的If-None-Match设置为true

  • 浏览器会将当前资源的ETag保存,并于下次请求时,加入If-None-Match中。请求接口时,判断If-None-Match的值是否和md5相同,如果相同则代表已经加载过,且未曾变更资源,将If-None-Match设置为false且将status设置为304即可。

ETag使用

原文:https://www.cnblogs.com/heyouxin/p/12082740.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!