当前位置: 首页 > 面试经验 >

CDN的原理是什么?

优质
小牛编辑
74浏览
2024-05-18

CDN的原理是什么?

CDN的原理是什么?这是一道前端面试非常高频的面试题,但是很多同学在面试时候只能说出个大概,老规矩,点赞收藏支持一下,给我一分钟,理想哥教大家该怎么满分回答这个问题
如果我是求职者,我会这么回答:
目前的互联网应用中都包含大量的静态内容,如果不做任何处理,所有的请求都指向源站服务器的话,不仅会耗费大量的带宽,还会拖累页面加载速度,影响用户体验。
CDN服务的出现可以解决上述问题。CDN的本质仍然是一个缓存,通过在现有网络中增加一层新的缓存节点,可以将数据缓存在里用户最近的地方,使用户以最快的速度获取数据,不需要每个用户的请求都去源站获取,避免网络拥塞、缓解源站压力。
比如,你住在东北,某网站源站服务器在深圳,如果没有CDN服务,那么每次数据请求都要长途跋涉到深圳的服务器,如果有CDN服务,就会在东北的CDN服务器上缓存一份数据,每次的数据请求就直接从东北的CDN服务器返回了,不用再大老远跑去深圳了。
当用户第一次发起内容请求时,不同地区的用户访问同一个域名,CDN服务商的智能DNS服务会返回不同CDN节点的IP地址。浏览器发起域名查询时,CDN 全局负载均衡设备根据用户 IP 地址,以及用户请求的内容URL,计算并返回离用户最近的相同网络运营商的CDN节点IP;
然后向边缘节点服务器发起请求,浏览器来请求内容数据,边缘节点会检测当前节点是否有数据,如果没有就去父级节点要数据,父级可能还会有父级节点,一直往上获取数据,如果还找不到就去源站服务器拿,并依次序返回,一个地区内只要有一个用户先加载资源,就会在CDN中建立缓存,该地区的其他后续用户都能直接读取缓存数据。
如果某个边缘节点可以找到,会先校验内容有效期,当确定有效期之后返回给用户。
用户后续再次发起请求时,会先去 CDN 缓存服务器获取。如果获取到数据,那么就直接返回。否则就重走一遍上面的流程
以上就是这个问题的回答了,大家可以下次面试时试试这么回答看看效果。
最后,关于关注理想哥,每天学点前端面试小技巧。#前端##前端滴滴##前端面试必备宝典#
 类似资料: