跳到正文

CDN

中级通用

CDN(内容分发网络)是在多地节点分发网站内容的网络服务。它让用户从合适的节点获取图片、脚本等资源,减少远距离传输带来的等待;做网站时常用它加速静态文件加载。

你可能会说:「我的网站用户分布在不同地区,图片和脚本加载慢,能让他们更快拿到这些文件吗?」

读之前建议先了解

动手看看

主图请求用户附近节点远方源站未参与
1

用户打开商品页,请求一张商品主图。CDN 在多地设有节点,这次请求先到离用户较近的节点。

要点

  1. 1

    先弄清内容从哪里来

    网站原本提供文件的服务器或存储服务叫源站。接入 CDN 后,用户请求可以先到 CDN 节点;节点有可用副本就直接返回,没有时再向源站获取。

  2. 2

    副本让重复请求更快

    如果许多人打开同一张商品图,节点可以复用已缓存的副本,减少反复访问源站。实际效果还取决于用户位置、缓存是否命中,以及源站和网络状况。

  3. 3

    更新文件要考虑旧副本

    你替换了同名图片,部分用户可能仍看到节点缓存的旧图。给新文件换地址,或按服务商提供的方式刷新缓存,能让更新更可控;具体做法要结合缓存规则。

容易混淆的地方

CDN 不等于网站托管或对象存储:后两者负责放置和提供原始内容,CDN 侧重把内容分发给各地用户。它也不等于缓存;缓存是保存可复用结果的机制,CDN 会利用缓存,但还包含节点分布和请求调度。动态请求也可以经过 CDN,只是不能假设每个响应都适合缓存。

什么时候用

适合用

  • 网站有大量公开图片、字体和脚本,用户分布在不同地区,希望缩短这些资源的加载等待。
  • 产品发布安装包或公开文档文件,下载请求较多,希望减少源站重复传输的压力。
  • 前端已经部署上线,想为可缓存的静态资源配置独立地址,并管理更新后的缓存行为。

不适合用

  • 后台只供同一办公室的少量同事使用,页面慢是数据库查询造成的;先检查查询和接口耗时。
  • 用户上传的是仅本人可看的敏感文件,当前只想安全保存和控制访问;先解决存储与权限控制。
  • 聊天页面的实时回复慢在模型生成阶段;先排查模型响应、流式传输和后端处理,而不是给回复加静态文件 CDN。

练一练

你的产品面向多个地区,商品图片加载慢;同时,用户的订单接口也偶尔慢。你会怎样安排 CDN 的使用?

让 AI 帮你做

请检查这个网站的图片、字体和脚本是否适合通过 CDN 分发,列出当前资源地址、源站及缓存配置。给出接入方案和文件更新策略;订单等用户私有接口先不设置公开缓存,并说明如何验证效果。

接下来学什么