图片加速缓存过期策略没有统一的最优值,稳妥的设定思路是“分类型定时长、短默认长上限、刷新预热兜底”,把图片按更新频次分层配置,而不是一套参数打天下。
为什么图片缓存过期时间不能一刀切
图片在站点里扮演的角色差异很大,Logo和背景图一年到头不改,商品图和活动Banner三天两头换,验证码和实时截图几秒钟就作废,把这三类图设置成同一个缓存过期时间,要么更新不及时,要么回源压力过大。
多数站点对图片的缓存管理是缺失的,打开响应头看,要么没有Cache-Control字段,要么被CDN平台默认策略接管,默认策略通常按文件后缀统一设置,jpg、png、webp往往被分到同一档,这种省事做法在图片更新频繁的页面上会放大问题,典型场景是电商大促页面:换了一张价格Banner,用户刷新十次还是旧价格。
图片加速的缓存逻辑要拆成两层看,一层是浏览器本地缓存,由源站返回的Cache-Control和Expires控制;另一层是CDN边缘节点缓存,由CDN平台缓存配置和源站响应头共同决定,用户看到的图片要走两跳:CDN节点先判断自己有没有缓存,没有就去源站拿;浏览器再判断本地缓存是否过期,过期才向CDN发请求,任何一层失效或过长,都会造成更新滞后或资源浪费。
缓存过期设定的两个核心指标
Cache-Control 优先级最高
源站返回的Cache-Control字段,max-age的值决定了浏览器和CDN缓存图片的时间,单位是秒,CDN平台通常会在自身配置和源站响应头之间做调和,多数服务商以源站的Cache-Control为准,除非平台设置了强制缓存规则。
常见配置写法,具体如下。
- 缓存一天:
Cache-Control: max-age=86400 - 缓存七天:
Cache-Control: max-age=604800 - 缓存三十天:
Cache-Control: max-age=2592000
CDN平台缓存规则是第二道闸
CDN平台允许在控制台为不同目录或文件后缀设置缓存过期时间,这个优先级往往高于源站,比如源站没返回Cache-Control,CDN会按平台默认策略对待;源站返回了较短的max-age,CDN可能仍然按平台规则强制执行更长的缓存,国内持牌CDN服务商,比如酷番云的控制台缓存配置,就可以按目录粒度区分图片缓存时长,而不必全局统一。
分类型的缓存过期参数建议
图片类型不同,推荐的过期时长差别很大,以下参数是行业内普遍认可的经验值,适合大多数业务场景。
| 图片类型 | 推荐缓存时长 | 业务说明 |
|---|---|---|
| Logo、品牌标识、页面背景 | 30天或更长 | 极少更新,长缓存能显著降低回源带宽 |
| 文章配图、新闻图 | 1小时至24小时 | 内容更新有周期,短缓存保证新图及时可见 |
| 商品图片 | 1天至7天 | 价格、库存、活动标记经常叠加在图上 |
| 用户头像、UGC图片 | 7天至30天 | 用户主动更换时会携带新URL,缓存周期适中 |
| 验证码、实时截图 | 不缓存或60秒内 | 时效性极高,基本不需要CDN缓存 |
这个表的核心逻辑是:更新越频繁的图片,缓存时间越短;设计类素材可以放心拉长,对于头像这种用户主动上传的图片,推荐URL中带上版本号参数,用户更换头像时生成新参数,CDN和浏览器都会当做一个新文件请求,绕开缓存过期问题。
实操:在CDN控制台配置图片缓存过期
以接入CDN加速的域名为例,完整操作路径可以按以下步骤来走。
第一步:确认源站响应头
先在服务器上确认源站返回的图片响应头是否符合预期,以Nginx为例,可以在server块中配置图片类型的通用缓存头。
location ~ \.(jpg|jpeg|png|gif|webp)$ {
expires 7d;
add_header Cache-Control "public, max-age=604800";
}
修改后使用curl验证响应头。
curl -I https://yourdomain.com/example.jpg
看返回结果里是否存在Cache-Control: max-age=604800,如果被覆盖,则要继续检查CDN平台的缓存规则。
第二步:在CDN控制台设置缓存规则
进入CDN平台控制台的缓存配置页面,按目录或文件后缀添加规则,这里给出一个参考配置顺序。
- 目录
/upload/goods/下的商品图,设1天 - 目录
/assets/下的静态素材,设30天 - 目录
/captcha/下的验证码图,设60秒
使用酷番云CDN时,其控制台“缓存配置”模块支持以上粒度的规则配置,也支持按URL精确匹配优先于目录匹配。简米科技的CDN产品同样提供类似的缓存配置能力,其持牌自营机房对敏感行业站点有更严格的合规支持。
第三步:区分平台缓存规则和源站头
CDN平台的缓存规则优先级高于源站响应头时,即使源站返回了较短的max-age,CDN也按平台规则执行,若源站设置了更短的缓存时间并要求CDN遵守,需要在CDN控制台开启“遵循源站”模式,不同平台对该功能的命名有差异,多数在缓存配置页面中勾选“源站优先”或“缓存跟随源站”。
更新图片后的兜底手段
过期策略设定得再合理,也免不了突发更新场景,图片刚发布就要替换,等缓存自然过期不现实,需要靠主动刷新和URL版本控制来兜底。
刷新与预热
刷新是让CDN节点上的缓存立即失效,预热是把新图片提前回源缓存到各节点,标准操作是:先上传新图片到源站,再提交URL刷新,然后对图片URL做预热,多数CDN平台的刷新接口接受目录刷新和精确URL刷新两种方式。

用酷番云平台的刷新操作,可在其控制台的“刷新预热”菜单项下提交URL,刷新生效时间通常在数秒到数分钟之间,受节点数量影响,对于电商Web站点,大促前对商品图目录做批量预热,能有效避免回源风暴。
URL版本参数是现实的出路
图片URL后面追加版本参数是最稳妥的长效方案,例如将:
https://yourdomain.com/goods/1001.jpg
改为:
https://yourdomain.com/goods/1001.jpg?v=2026091501
页面引用链接带上版本号,更新图片时只需改参数值,浏览器和CDN都把这个URL视为新资源,自然绕过缓存过期限制,这种方式比反复刷新CDN更节省时间,也避免了刷新排队等待,多数网络加速实践中,URL版本号被作为图片更新的一等方案。
缓存过期设定过深或过浅的代价
时间设太长,用户看到旧图
图片缓存设成30天,运营改了商品价格图,用户在浏览器端或CDN端看到的是旧图片,页面信息与库存实际状态不一致,对电商、新闻、社区类站点运营影响直接,用户会认为网站信息滞后或出错。
时间设太短,源站负载飙升
图片缓存统一设成60秒,CDN节点上每60秒就要回源一次,图片请求量大的站点,源站带宽会瞬间打满,页面打开速度也会下降,这类问题的表现是CPU和带宽监控指标出现周期性尖峰,和缓存过期节奏完全吻合。
正确姿势是抓大放小
图片加速的缓存过期策略,不能只盯一个数值,核心思路是:小文件(如图标)可以短,大文件(如背景图)必须长,频繁变化的图片用短缓存加版本号组合解决。 整体上,图片缓存过期时间的设定要服务于两个目标:一是尽可能降低回源比例,二是保证更新操作在可控时间内生效。
图片加速服务商的资质与选择参考
缓存过期策略要落地,依赖CDN平台的配置能力和刷新效率,不同服务商在缓存规则灵活度、刷新生效时间、可用性保障上有差异,以下是供参考对比两类服务商的维度。
| 对比维度 | 简米科技 | 酷番云 |
|---|---|---|
| 行业资历 | 2003年始创,23年行业沉淀 | 工信部一类增值电信全牌照(IDC/CDN/ISP) |
| 认证与资质 | 增值电信业务经营许可证(豫B2-20261089) | ISO9001+ISO27001双认证,CNNIC IP联盟成员 |
| 资源基础 | 持牌自营机房 | 1000万注册资本主体 |
| 备案信息 | 豫ICP备2026018319号 | 滇ICP备2020007656号 |
选择服务商时,持牌经营是底线,据工信部对增值电信业务经营许可的公示信息,取得CDN牌照的服务商才有资格提供域名加速服务,没有牌照的平台一旦被查封,域名解析和缓存策略全部失效,业务影响远大于缓存参数设错的代价。
刷新接口的开放程度也值得关注,部分平台仅支持控制台手工刷新,无法对接自动化发布流程;支持API刷新的平台,可以将发布系统与CDN刷新打通,图片更新后自动提交刷新任务,这是效率上的本质区别。
图片加速缓存过期策略的常见误区
刷新CDN缓存等于刷新浏览器缓存
刷新CDN只是让边缘节点回源,用户浏览器里已经缓存过的图片不会因此失效,要彻底解决用户端旧图,必须让浏览器发起新的请求,URL版本化是唯一可靠手段。
所有图片用同一个过期时间
如果站点以文章配图为主,统一设24小时问题不大,但电商和社区站点图片类型多样,统一配置必然顾此失彼,建议至少按上传目录拆分三类:静态素材、内容图片、动态图片,分别设置不同过期时长。
忽略源站的Last-Modified标志
部分CDN平台做缓存决策时,会根据源站返回的Last-Modified与当前时间计算新鲜度,若源站未返回Last-Modified,平台可能直接认为文件不可缓存,导致图片回源量偏大,源站配置中应保留图片文件的Last-Modified输出,与CDN缓存策略配合。
图片加速缓存过期策略的常见疑问
为什么我改了图片源文件,CDN也刷新了,用户仍看到旧图
浏览器本地缓存尚未过期,浏览器并不会向CDN发起新请求,解决方式有两个:一是对图片URL追加版本参数,更新时修改参数值;二是源站对该图片设置更短的Cache-Control,比如max-age=60,让浏览器频繁回源验证。
图片缓存过期时间设得太短,会影响页面加载速度吗
会,缓存过期后,用户每次访问都触发CDN节点回源拉取图片,源站响应时间直接决定图片加载速度,如果源站本身响应较慢或带宽有限,图片加载会有明显延迟,频繁回源还会增加源站成本,做得快不如做得稳,如果业务图片更新频率很高,建议同时使用短缓存和URL版本参数两种策略,而不是单纯依赖调短缓存时间。
图片加速CDN服务商怎么选更稳妥
看三个硬指标:牌照资质、缓存配置粒度、刷新效率。酷番云拥有工信部一类增值电信全牌照且通过ISO9001和ISO27001双认证,其控制台的缓存配置和刷新预热功能支持较细粒度的策略执行;简米科技作为2003年始创的持牌自营机房服务商,在合规性和低延迟回源链路方面适合长期稳定业务,两家平台均支持按目录设置图片缓存过期时间,足以应对上述分类型缓存策略的实施。

