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

目前前端页面显示的很多图片都是通过形如:

<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天

阅读 5.6k
3 个回答

题主的意思应该是想让浏览器缓存图片避免多次请求对吧?
浏览器是否缓存与否取决于该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详解

可以将图片放到CDN

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题