定义:所谓的图片动态请求我这里定义的是通过某一路径访问接口,接口通过图片参数标识输出一个图片,非传统的访问通过路径访问某一静态图片。
场景:什么时候会出现图片动态请求还需要加缓存?
在门户系统中,我们发布一条消息时,其中图片会上传到文件服务器,文件服务器返回一个文件标识,下次访问的时候通过这个标识访问图片。图片修改后,文件标识也会改变,也就是说一个文件标识对应的图片不会发生改变。我们缓存这个图片,避免大量请求服务器。
举个栗子:
信息发布完成,前端取图片
<img src="http://192.168.0.145:8585/admin/filesystem/download?id=4028b8816f122070016f12e092d904d3" width="500" height="500"/>
文件服务器中输出文件时增加缓存过期时间:
response.setHeader("Expires","Wed, 23 May 2219 09:16:33 GMT");
这样就行了。常规使用的Cache-Control在争对动态接口的请求时反而失去效果。