CDN的原理是什么?

CDN的原理是什么?这是一道前端面试非常高频的面试题,但是很多同学在面试时候只能说出个大概,老规矩,点赞收藏支持一下,给我一分钟,理想哥教大家该怎么满分回答这个问题

如果我是求职者,我会这么回答:

目前的互联网应用中都包含大量的静态内容,如果不做任何处理,所有的请求都指向源站服务器的话,不仅会耗费大量的带宽,还会拖累页面加载速度,影响用户体验。

CDN服务的出现可以解决上述问题。CDN的本质仍然是一个缓存,通过在现有网络中增加一层新的缓存节点,可以将数据缓存在里用户最近的地方,使用户以最快的速度获取数据,不需要每个用户的请求都去源站获取,避免网络拥塞、缓解源站压力。

比如,你住在东北,某网站源站服务器在深圳,如果没有CDN服务,那么每次数据请求都要长途跋涉到深圳的服务器,如果有CDN服务,就会在东北的CDN服务器上缓存一份数据,每次的数据请求就直接从东北的CDN服务器返回了,不用再大老远跑去深圳了。

当用户第一次发起内容请求时,不同地区的用户访问同一个域名,CDN服务商的智能DNS服务会返回不同CDN节点的IP地址。浏览器发起域名查询时,CDN 全局负载均衡设备根据用户 IP 地址,以及用户请求的内容URL,计算并返回离用户最近的相同网络运营商的CDN节点IP;

然后向边缘节点服务器发起请求,浏览器来请求内容数据,边缘节点会检测当前节点是否有数据,如果没有就去父级节点要数据,父级可能还会有父级节点,一直往上获取数据,如果还找不到就去源站服务器拿,并依次序返回,一个地区内只要有一个用户先加载资源,就会在CDN中建立缓存,该地区的其他后续用户都能直接读取缓存数据。

如果某个边缘节点可以找到,会先校验内容有效期,当确定有效期之后返回给用户。

用户后续再次发起请求时,会先去 CDN 缓存服务器获取。如果获取到数据,那么就直接返回。否则就重走一遍上面的流程

以上就是这个问题的回答了,大家可以下次面试时试试这么回答看看效果。

最后,关于关注理想哥,每天学点前端面试小技巧。#前端##前端滴滴##前端面试必备宝典#
全部评论
可以这么理解,一个CDN服务厂商在全国各地都有CDN服务器,我们访问域名的时候,会先访问到最近的CDN服务器,如果该服务器没有缓存,那么就会向域名原IP地址或者更上层的父级服务器进行查询,直到获取到数据,获取到后会在该CDN服务器缓存,下次该地区的用户再次访问该CDN的服务器,就可以直接获取到缓存,而不是长途跋涉地去访问真正的IP地址。
点赞 回复 分享
发布于 05-19 20:39 安徽
为什么我的八股文答案还提到了区域负载均衡设备和缓存服务器这两个概念
点赞 回复 分享
发布于 05-20 16:50 陕西
那国内访问国外网站是不是也是cdn加速,如何实现的呢
点赞 回复 分享
发布于 05-22 09:41 四川

相关推荐

10-28 20:53
已编辑
山东青客网络_CEO
比如:简历里有一句 “使用持久化存储去解决首屏加载和用户体验问题。”【描述背景】在xxxx这个项目里,业务希望首屏加载更快,我去做了一个让首屏加载更快的方案。【描述行动】接到这个任务以后我在网上进行调研,一开始接到了集中方法,第一种是使用服务端渲染第二种使用骨架图的方案第一种服务端渲染需要服务端来跟进支持,还需要用到特殊的技术方案(这里要准备好调研的技术方案,面试官问的时候别傻了),目前这个优化只分配了前端进行改造,所以没有使用。第二种方案使用骨架图可以让页面先显示框架,再慢慢渲染实际内容,这样虽然用户感受会好一些,但是治标不治本,渲染总时长和以前是一样的。经过我的调研,我们项目首屏加载速度慢的只要原因是两个,一是JS解析执行的时间,二是React(vue)渲染的时间,然后我们的项目首页的数据不需要非常的实时精确的更新,所以我想到一个方案。【提出解决方案】每次渲染完首页后,我将首页所有的HTML代码存储到LocalStorage中,当页面进来的时候,我首先从LocalStorage中获取HTML代码数据先贴到HTML中,让用户可以先看到首页的内容和行动点,这样解决用户第一次进来速度慢的问题。【提出遇到的问题】解决这个问题需要考虑几个点:第一是读取LocalStorage插入HTML的这个代码要在所有代码之前运行第二是确保LocalStorage的存储内容的大小不能超过浏览器的限制第三是要确保HTML加载进来的时候样式也要存在【给出解决方案】我们使用的框架是UMI,使用umi的配置中的 scripts 参数,添加额外的JS代码,来解决第一个问题。(不同脚手架方法不一样)我们只将首屏最核心的xxxxx部分进行了代码存储,这部分的代码结构我们进行了精简,确保在100k以内。我们把这部分代码的css写成了行内样式,确保这些样式正确渲染。如果大家想要用以上内容作为简历和面试内容,我建议大家自己实践一下,做一遍这样的功能。你会发现更多值得一提的点。
点赞 评论 收藏
分享
10 16 评论
分享
牛客网
牛客企业服务