启用 CDN 缓存后浏览器访问的全过程:
-
用户输入 URL,浏览器将解析过后的域名发给 DNS 服务器
-
CDN 返回该域名对应的 CNAME,此时浏览器需要再次对获得的 CNAME 进行解析,才能得到 CDN 缓存服务器的 IP 地址。在此过程中全局负载均衡 DNS 解析服务器会将用户的访问请求定位到离用户最近、负载最轻的 CDN 缓存服务器上。这种技术也被称为“DNS 重定向”,DNS 服务器不是为每个请求返回相同的 IP 地址,比如在悉尼的一个客户请求解析 www.cdn.com,DNS 服务器根据地理位置,计算出距离这个用户最近的
CDN 服务器,于是返回一个悉尼 CDN 节点的IP地址。这种方法也不一定是最优的,因为地理位置上最近的两个点,延迟可能反而很高。还有一种方法是通过估计节点间的样本延迟,具体原理我也不了解。 -
再次解析后,浏览器得到 CDN 缓存服务器的实际 IP 地址,向缓存服务器发起请求。
-
缓存服务器根据浏览器提供的域名,通过内部 DNS 解析得到此域名源服务器的真实 IP 地址,再由缓存服务器向该服务器发起访问请求。
-
缓存服务器拿到数据后,一方面将数据发回浏览器,另一方面进行本地保存,以备后用。之后再次访问,数据将从 CDN 缓存服务器中被返回。CDN 不会永久保存数据,可以设置 CDN 的刷新频率,来达到数据的更新。
-
浏览器得到由缓存服务器发回的数据,并将其显示出来。至此,完成整个域名访问的过程。
网友评论