haizlin / fe-interview

前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML/CSS/JavaScript/Vue/React/Nodejs/TypeScript/ECMAScritpt/Webpack/Jquery/小程序/软技能……

Home Page:http://www.h-camel.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[软技能] 第1154天 请说说CDN的原理,它有哪些应用场景?

haizhilin2013 opened this issue · comments

第1154天 请说说CDN的原理,它有哪些应用场景?

3+1官网

我也要出题

CDN

CDN 全称 Content Delivery Network,即内容分发网络。
其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。

  • 不使用 CDN

广州的用户要请求一个在北京的 IP 地址。

那可能经过是这样的:

广州用户 -> 广州服务器 -> 湖南服务器 -> 湖北服务器 -> 北京服务器

这样子一个一个查找,很耽搁时间。

  • 使用 CDN

北京服务器指定了一个 CDN 服务商,然后这个服务商有个广州服务器上做了部署,我们直接访问广州服务器就可以找到资料了。

  • 简单理解

某东购物,买个洗发水,外国牌子的,然后某东直接从它家的广州仓库发过来。

如果用户是北京的,那就从北京仓库发出去。

而我们的 CDN 服务商,就是干这个的。

  • 举例

我们在页面中引用了 jQuery。如果这个资源放在自家服务器上,会增加自家服务器的压力;如果请求 jQuery 官网的地址,又可能太远。于是使用了 CDN,让 CDN 服务商判断用户举例它哪个资源库最近,就提供哪个地址给用户。

  • 适用情况
  1. 不常更新的静态资源
  2. 自家服务器资源较少