一、引言
对于程序员来说,cdn应该不陌生。比如我们用一些比较常见的类库时,各个大厂都会有cdn。例如jquery,bootstrap之类的。
这些的却算是cdn的应用,但是我们不应该只是了解cdn到这个地步。接下来再多了解一点吧。
二、什么是CDN
CDN的全称是Content Delivery Network,即内容分发网络。
如果想要了解比较更专业的术语来解释,可以看下百度百科的解释
https://baike.baidu.com/item/CDN/420951?fr=aladdin
这里说下我的理解,所谓cdn 其实就是为了减少主要服务器的压力,将一些不怎么变化的静态资源,html,css,js之类的放在一些cdn提供商的服务器上。这样我们的网络服务器就只需要专注于逻辑的处理,而不需要将大量精力放在静态资源上。
三、CDN的大概执行流程
1.用户请求一个网址
2.请求的静态资源地址会是cdn服务商的地址。
3.cdn服务商根据 我们的配置拿到一份最新的静态资源。
4.将这个静态资源缓存到离用户较近的服务器上。
5.然后将这个返回。
6.当有与你处于一个区域的用户去访问时,就会从这台缓存的服务器拿资源。
四、为什么要用cdn
上面说的大概执行流程,也解释了为什么会用cdn。我理解的主要有以下两点
1.减少我们服务器的压力
2.使静态资源返回更快,用户响应更快。(其实很多时候静态资源的网络i/o要很高)
五、CDN有什么缺点或者需要注意的问题
1.选择大厂知名的cdn.好处就是服务器节点更多,服务器更稳定,返回更高效
2.主要静态资源更新时的延迟问题。 如果一些静态资源,类如js 经常发生变动,就不要加入cdn。