我们拿小破站为例子，由浅入深的看一下这个面试题背后的知识链路。

# 当我们在网页浏览器输入 bilibili.com 并且按下回车看到页面的时候，这个一瞬间到底发生了什么?

首先，从浏览器出发，经过域名解析（DNS），拿到了一个  CNAME ，一看  `xxx.cdn.ababa`就知道 B 站是上了 CDN 啦，很正常这么大的网站不上 CDN 是不可能的。

拿到这个 CDN 的网址后，我就去访问了这个 CDN 服务商的权威 DNS，CDN 厂商根据我的地理位置等其他负载策略返回了一个 最合适我的 CDN 缓存节点的 IP，之后我就一直去请求这个 IP 啦。

我们直接 Ping  https://www.bilibili.com/ 得到了另外一个IP：b.w.bilicdn1.com，看到了， 这就是缓存节点的 IP了。

当然，我是一个有学问的小 R ，我知道如果我的访问不命中 CDN 缓存的话，CDN 服务器就会去源站(B站)请求得到响应，然后缓存并返回。

所以本质上 CDN 节点就是一个缓存，它减轻了源站(B站)的负载，并且由于 CDN 节点遍布全国，所以挑选距离我们最近、最佳的节点供我们服务，也提高了响应速度。

























