写点什么

使用 CDN 后如何更新同名文件

  • 2025-11-14
    北京
  • 本文字数:721 字

    阅读完需:约 2 分钟

本文分享自天翼云开发者社区《使用CDN后如何更新同名文件》.作者:潘****婧

使用 CDN 后,源站的文件将在 CDN 节点上缓存。此时如果有同名文件需要更新,可通过如下两种方式:

一、被动更新

被动更新机制指的是通过设置 CDN 缓存过期时间,实现 CDN 节点上的文件定期与源站文件进行比对,从而实现更新。

缓存过期时间指源站资源在 CDN 节点缓存的时长,达到预设时间后,缓存的资源将会被 CDN 节点标记为缓存过期。此时如果客户端向 CDN 节点请求该资源,CDN 会携带 If-Modified-Since 请求头或 Etag 请求头回源站校验内容是否有更新,如有更新则获取最新资源并缓存到 CDN 节点。用户可以根据业务需求,按指定路径或文件名后缀等方式配置静态资源的缓存过期时间。

二、主动更新

CDN 一般会在被动更新的同时,提供主动更新机制。如果源站对某个同名文件进行更新后,希望 CDN 节点能马上感知到更新,从而让用户实时访问到最新文件,此时可以通过主动刷新来实现。

CDN 一般会提供 URL 刷新、目录刷新和正则刷新三种内容刷新方式。不同刷新方式实现机制稍有不同,但最终都能确保用户访问时获得最新的内容。

  • URL 刷新:执行 URL 刷新请求后,CDN 节点会直接删除 URL 对应的缓存内容,此时,如果客户端向 CDN 节点请求该内容,节点会回源站获取并缓存新的内容,同时返回给用户。

  • 目录刷新/正则刷新:执行目录或正则刷新请求后,节点缓存将被标记为缓存过期状态(也叫缓存置过期),此时,如果客户端向 CDN 节点请求该内容,节点会携带 If-Modified-Since 请求头或 If-None-Match 请求头回源站校验内容是否有更新。如果源站响应 304,说明源站内容未更新,节点则只更新缓存状态不拉取新内容,使用已有缓存响应给用户;如果源站响应 200 或 206,说明源站内容有更新,节点将拉取新内容并缓存,使用新内容响应给用户。

 

用户头像

还未添加个人签名 2022-02-22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
使用CDN后如何更新同名文件_CDN_天翼云开发者社区_InfoQ写作社区