DNS即Domain Name System,是域名解析服务的意思。它在互联网的做用是:把域名转换成为网络能够识别的ip地址。人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工做称为域名解析,域名解析须要由专门的域名解析服务器来完成,整个过程是自动进行的。好比:上网时输入的www.baidu.com会自动转换成为220.181.112.143。css
常见的DNS解析服务商有:阿里云解析,万网解析,DNSPod,新网解析,Route53(AWS),Dyn,Cloudflare等。html
1.好比访问页面请求浏览器
www.toov5.com/23234.jpg缓存
2.服务器
传统方式架构弊端:网络
1.带宽传输压力大架构
2.由于全部用户所有汇集到同一个地区服务器上访问,没法保证总体的系统高可用负载均衡
3.由于若是客户端与服务器端传输距离越远,那么宽带传输很是耗资源,致使用户体验很是差,响应慢。函数
CDN加速意思就是在用户和咱们的服务器之间加一个缓存机制,动态获取IP地址根据地理位置,让用户到最近的服务器访问。性能
CDN的全称是Content Delivery Network,即内容分发网络。
CDN是一组分布在多个不一样地理位置的Web服务器,用于更加有效地向用户发布内容,在优化性能时,会根据距离的远近来选择。
CDN系统能实时地根据网络流量和各节点的链接,负载情况及用户的距离和响应时间等综合信息将用户的请求从新导向离用户最近的服务节点上,其目的是使用户能就近地获取请求数据,解决网络拥塞,提升访问速度,解决因为网络带宽小、用户访问量大、网点分布不均等缘由致使的访问速度慢的问题。
因为CDN部署在网络运营商的机房,这些运营商又是终端用户网络的提供商,所以用户请求的第一跳就到达CDN服务器,当CDN服务器中缓存有用户请求的数据时,就能够从CDN直接返回给浏览器,所以能够提升访问速度。
CDN可以缓存JavaScript脚本、CSS样式表、图片、图标、Flash等静态资源文件(不包括html页面),这些静态资源文文件的访问频率很高,将其缓存在CDN能够极大地提升网站的访问速度,但因为CDN是部署在网络运营商的机房,因此在通常的网站中都不多用CDN加速。
1) 用户向浏览器提供要访问的域名;
2) 浏览器调用域名解析库对域名进行解析,因为CDN对域名解析过程进行了调整,因此解析函数库通常获得的是该域名对应的
CNAME记录,为了获得实际IP地址,浏览器须要再次对得到的CNAME域名进行解析以获得实际的IP地址;在此过程当中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问;
3) 这次解析获得CDN缓存服务器的IP地址,浏览器在获得实际的IP地址之后,向缓存服务器发出访问请求;
4) 缓存服务器根据浏览器提供的要访问的域名,经过Cache内部专用DNS解析获得此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
5) 缓存服务器从实际IP地址得获得内容之后,一方面在本地进行保存,以备之后使用,二方面把获取的数据返回给客户端,完成数据服务过程;
6) 客户端获得由缓存服务器返回的数据之后显示出来并完成整个浏览的数据请求过程。
CDN目的是为了减轻客户端与服务器端宽带传输,CDN缓存静态资源
CDN获取客户端IP地址,实现动态化(DNS负载均衡),根据客户端的IP地址判断CDN内容分发服务器距离,让客户端从最近的服务器进行访问。判断哪台cdn服务器距离客户端最近。
CDN 部署在全国各个地区
CDN应用场景: 缓存静态资源 img css js