为了账号安全,请及时绑定邮箱和手机立即绑定

后端用的java,前端通过下载接口显示的图片如何做缓存?

后端用的java,前端通过下载接口显示的图片如何做缓存?

噜噜哒 2019-02-26 17:31:57
目前前端页面显示的很多图片都是通过形如:<img src="http://www.abcxxx.com/index/file/down?file=image/logo/4656439388696/8182/15427293.jpg">的地址来直接显示到页面上的,通过这个方式呈现的图片无法缓存。PS.问题解决了,修改java下载接口,增加强制缓存的代码 response.addHeader("Cache-Control","max-age=604800"); 缓存7天
查看完整描述

1 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

题主的意思应该是想让浏览器缓存图片避免多次请求对吧?

浏览器是否缓存与否取决于该URL返回的HTTP Header里的缓存协议,与什么样的URL格式无关。

在网上关于HTTP协议缓存机制的文章已有不少,题主可以搜索一下。

解决方法就是调用此URL返回的时候,增加一些缓存Header相关的参数,使得浏览器主动缓存图片。


我对HTTP缓存理解得不够到位,如果描述有误麻烦路过大神指正


期望缓存响应Header示例:


Cache-Control:public

Cache-Control:max-age=86400

Connection:keep-alive

Date:Fri, 05 Jan 2018 03:49:59 GMT

Expires:Sat, 06 Jan 2018 03:49:59 GMT

Last-Modified:Thu, 04 Jan 2018 09:23:31 GMT

Server:openresty/1.11.2.4

缓存Cache详解


查看完整回答
反对 回复 2019-03-06
  • 1 回答
  • 0 关注
  • 1233 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信