CDN(Content Delivery Network 或 Content Distribution Network),中文名叫“内容分发网络”。


静态资源 & 动态资源

只有静态资源才能够被缓存加速、就近访问,而动态资源只能由源站实时生成,即使缓存了也没有意义。

不过,如果动态资源指定了“Cache-Control”,允许缓存短暂的时间,那它在这段时间里也就变成了“静态资源”,可以被 CDN 缓存加速。

备注:关于静态资源和动态资源,更准确的说法是:只要Cache-Control允许缓存,就是静态资源,否则就是动态资源。


CDN

有两个关键组成部分:全局负载均衡和缓存系统,对应的是 DNS 和 缓存代理。


全局负载均衡(Global Sever Load Balance)

简称为 GSLB,它是 CDN 的“大脑”,最常见的实现方式是“DNS 负载均衡”技术。

主要职责是当用户接入网络时在 CDN 专网中挑选一个“最佳”节点提供服务,解决的是用户如何找到“最近的”边缘节点,对整个 CDN 网络进行“负载均衡”。


缓存系统

相当于 CDN 的“心脏”,使用HTTP缓存代理技术。如果缓存系统的服务能力不够,不能很好地满足用户的需求,那 GSLB 调度算法再优秀也没有用。


命中 & 回源

“命中”就是指用户访问的资源恰好在缓存系统里,可以直接返回给用户。

“回源”则正相反,缓存里没有,必须用代理的方式回源站取。