相关名词
- CDN(Content Delivery Network)(内容分发网络):提供内容给用户就近访问
CDN域名解析流程
- 浏览器发起HTTP请求到本地DNS服务器,本地DNS服务器使用CNAME的方式,将资源域名重定向到CDN服务
- 用户机器(比如浏览器)-> LocalDNS
- LocalDNS -> 域名授权DNS服务 (返回域名CNAME)
- LocalDNS -> 请求CNAME域名(重新走域名解析流程,DNS根服务器,域服务器等)(返回CNAME对应的ip)
- LocalDNS -> CNAME对应的CDN服务器(CDN策略,查找出最佳的CDN节点的IP地址)
- LocalDNS返回CDN节点IP地址给浏览器
- 用户机器(比如浏览器)-> CDN节点(若无缓存)
- CDN节点 -> 回源服务器拉取资源 (可选)
- 添加CNAME记录需要在您的域名厂商处配置;CNAME的配置和域名的解析配置一起的
Q&A
服务接口的数据可以使用CDN来缓存?
- CDN不仅可以缓存静态资源(图片,视频等),对于一些数据变更不大的接口,可以适当缓存接口数据。比如配置,利用CDN缓存几分钟是合理的。
不能缓存数据的接口,可以使用CDN吗?
- 结论:可以使用CDN,但注意GET接口响应头设置为不缓存(比如设置 Cache-Control:no-cache)
- 通过CDN加速回源效果(使用CDN快速传输的特性)
- 比如一般情况下,用户访问通过普通公网,需要经过20个路由才到达服务器
- 使用CDN加速后,通过5CDN节点就到达服务器了(这里涉及服务器端在CDN的接入点、用户端CDN部署的覆盖范围是否足够大)
- 使用CDN隐藏服务器真实IP,起到提升安全性等作用