TTL
DNS解析中,一般都会有一个参数需要设置,即TTL(Time To Live)。
TTL的作用,是告知本地DNS服务器
,域名可以在其机器上缓存的最长时间是多久。
比如阿里云,默认的TTL是10分钟,也即本地DNS服务器
,可以对域名缓存10分钟。10分钟之后,本地DNS服务器
会删除这条记录。删除之后,如果用户再次访问www.example.com
,则需要重复上述流程。
TTL的最大值是:24小时。
cdn
什么是CDN?
CDN,英文全名:Content Delivery Network,即内容分发网络。
它是构建在现有互联网基础上的一层智能虚拟网络。
通过现实世界,部署在各个地区的物理实体节点服务器,提供内容给用户就近访问。
CDN服务器的本质,是存储源服务器
分发的资源,也即资源副本,供用户就近访问,缩短用户查看内容的访问延迟。
比如,Leon公司,源服务器
部署在英国,并在中国和英国都部署有CDN服务器。则中国的用户,只需要访问中国CDN服务器
即可,不需要通过路由多层转发,访问英国的源服务器
。依此,提高网络资源的访问速度。
CDN的好处
CDN服务器,可以解决 网络带宽小
、用户访问量大
、网点分布不均匀
等问题,并提高用户访问网站的响应速度
,增强网站的可用性
。
CDN怎么工作?
CDN加速原理
浏览器发起HTTP请求到本地DNS服务器
,本地DNS服务器
使用CNAME
的方式,将资源域名重定向到CDN服务,依靠CDN的策略,查找到最佳CDN节点IP。浏览器访问该节点,用最短访问时延,下载所需的资源。
工作流程
CDN节点有缓存
- 用户在浏览器输入网站域名
www.example.com
,浏览器向本地DNS服务器
发起域名解析请求 - 域名解析请求,被
本地DNS服务器
转发到域名授权DNS服务 - 域名授权DNS查找到,域名通过
CNAME
,映射到www.example.com.c.cdnhwc1.com
,返回给本地DNS服务器
本地DNS服务器
,访问www.example.com.c.cdnhwc1.com
对应的CDN服务器
CDN服务器
对域名进行解析,使用CDN策略,查找出最佳的CDN节点的IP地址,返回给本地DNS服务器
本地DNS服务器
返回CDN节点IP地址给浏览器- 浏览器得到域名
www.example.com
对应的IP地址后,向该IP地址(CDN节点)发出请求 - CDN节点将用户请求的资源进行返回
CDN节点无缓存
前7步的流程,和CDN节点有缓存
的情况一致。
区别是:访问的CDN节点,没有资源副本,需要先向源服务器拉取资源,缓存到CDN节点后,再返回给浏览器。
增加的步骤解析:
7. 浏览器的请求到达CDN节点,CDN节点在本地缓存查找不到资源
8. CDN节点请求源服务器(ps: 也可以是上级缓存服务器),拉取用户所需的资源
9. CDN节点将拉取的资源缓存到本地
10. CDN节点将用户请求的资源进行返回
域名解析
什么是A记录?
A记录用来指定主机名或域名,对应的IP地址。
如上图所示,是我的阿里云域名配置,将fe-interview.wangxiaokai.vip
指向对应的IP地址****
。
什么是CNAME记录?
CNAME的作用,是将一个域名映射到另一个域名,也即域名的别名。
如上图所示, 我将note.wangxiaokai.vip
指向另一个域名hosting.gitbook.com
。
访问note.wangxiaokai.vip
等同于访问hosting.gitbook.com
。
CNAME的应用,是需要服务保持稳定域名的场景。
比如CDN节点域名,就是使用CNAME进行映射的。如果后续的地区CDN节点服务器更换IP地址,只需要维护CDN策略而已,不需要用户修改接入逻辑。
原文链接:https://www.cnblogs.com/sunlin49/p/16261153.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/17117