技术博客 > 正文

CDN如何实现文件推送

2022-02-23

静态文件缓存在CDN的边缘节点是实现网站提速的一个重要手段。网站管理员由于新增、删除、修改等操作更新了网站上的某些内容,在设定的缓存时间还未过期前, 网宿 CDN 系统提供了文件推送功能,可确保访客及时访问到最新内容。文件推送分为URL 更新和目录更新。

◆推送分类

  1. URL 更新
    更新指定 URL 资源,例如某个图片 http://www.wangsu.com/image.jpg
  2. 目录更新
    网站需要更新的静态 URL 有可能很多,如果逐条进行操作,可能会带来比较高的人工成本,因此结合网站资源的存放结构,文件推送同时也具备目录更新功能。对某个目录结构的 URL 执行了目录更新功能后,目录下的所有文件均会被更新,如https://www.wangsu.com/news/blog-list, news 目录下的所有内容都将进行更新。

◆基本原理
当在网宿文件推送系统成功提交了文件推送任务后,推送指令下发至加速域名所有可能使用到的节点, CDN 节点将匹配用户提交的目标文件,将对应文件标记为过期或者执行删除操作。

URL 更新区分为: URL 过期(先判断该 URL 是否过期)和 URL 删除(直接删除该 URL)

目录更新区分为:目录过期(先判断目录下各个 URL 是否过期)和目录删除(直接删除目录下各个 URL)

  1. 标记过期
    文件被标记过期后,当有最终用户向节点请求该文件时, CDN 节点会将该文件的 Last-Modified 或者 Etag 与网站源服务器上同名文件对应的属性值做比对。以Last-Modified 为例,若 CDN 节点的 Last-Modified 早于网站源服务器当前的 Last-Modified,则判断 CDN 节点文件已经过期, CDN 节点向网站源服务器重新下载该文件替换节点上的旧文件,同时将新文件响应给用户;同样的,对于 Etag 属性值,如果 CDN 节点的文件与网站源服务器的同名文件 Etag 值不同,那么判断 CDN节点文件已经过期;如果目标文件同时不存在 Last-Modified 和 Etag 这两个属性值,那么CDN 节点将会放弃比对,直接回源下载新文件。如果目标文件同时存在Last-Modified 和 Etag 这两个属性值,只要其中任一属性值判断为过期,则判断文件过期。

  2. 删除操作
    CDN 节点接收到推送指令后,不再将目标文件与网站服务器上的同名文件做比对,直接执行删除操作。对于目录删除操作,系统不再比对文件是否过期,会将目录下的所有文件一律删除,文件被删除后, CDN 节点需要重新回源下载新文件。

营收止跌,网宿科技转型路柳暗花明?

◆使用说明
网宿文件推送系统目前提供了两种操作渠道:页面推送和 API 接口推送。

  1. 页面推送
    根据我司提供的网宿客户服务系统后台账号和密码,登录网宿 portal 后台—【基础功能】 —【内容管理】 操作。

  2. API 接口推送
    网宿内容推送接口是一套提供给客户的用于辅助网宿客户服务平台的 API 接口。借由此接口,客户可实现自主删除或更新频道文件,方便及时地更新网站内容具有极高的灵活性,详细操作可以参考文件《网宿内容推送 API 接口使用说明》。

◆注意事项
根据文件推送的数量级,可以将文件推送分为基础推送和高级推送。

  1. 基础推送(定期升级,具体数值请与商务确定)
    可以快速更新单个文件,或者是删除单个文件,每天可以免费使用500次单个文件快速发布;
    可以快速更新某个目录,每天可以免费使用5次目录更新,目录更新会对源站产生一定的压力。
  2. 高级推送(定期升级,具体数值请与商务确定)
    单个文件更新:默认每天可以更新2000个文件
    目录更新:默认每天可以更新10个目录
    目录删除:每天提供5次目录删除功能

◆适用场景
当客户对于文件更新的及时性要求较高,并且每天文件更新数量较多时,适于开通此服务。

◆价值优势
√该功能能够有效保障客户能及时访问到最新文件。
√提升用户体验,提升转化率。