学习了解缓存-CDN

121 阅读2分钟

随着如今单应用潮流的大趋势下,我们做的spa应用也越来越庞大,大家都通过各种方法竭尽所能的去优化客户端网页使用体验。今天简单的介绍下通过缓存来优化你的网页加载速度。

首先我们来简单了解下常用的缓存有那几种

1:DNS缓存
2: CDN缓存
3: 客户端缓存
4: PWA模式的ServeWorker和离线缓存 5:ajax缓存

今天先来说说大家最常见也是最熟悉的cdn缓存。

什么是CDN缓存?

举个栗子:
比如你想去听周杰伦下个月举办的演唱会。可是官方的售票点在海峡彼岸的台湾。如果你想买到票,显然你不可能跑到台湾去买的,于是你问好朋友怎么才能买到演唱会门票。好朋友和你说:咱们这有演唱会门票代售点呀,你不知道么~在代售点买就可以了。于是你屁颠屁颠去代售点买到了票。
上面栗子中的代售点就好比CDN,当用户打开浏览器输入网址后,通过cdn的帮助下,会帮用户选择一个离用户距离最近的边缘节点来响应网站请求。而不是直接去访问源站部署所在地的机房。提高了网站的响应速度。

cdn的优势:
1:绝大部分的网站请求在边缘节点上响应,这就起到了分流的作用,减轻了源站机房的负载压力。
2:同时解决了跨地访问,跨运营商访问而造成的高延时问题。

通常情况下,在本地浏览器的缓存失效后,浏览器通过cdn边缘节点发出用户请求,拿到新的数据后再缓存下来。各大运营商的缓存策略可能会有所不同,但绝大多数的情况下都是遵循http的规则的。 可以通过设置http中的响应头来控制缓存时间

cache-control: max-age

当浏览器向目标节点发出数据请求的时候。节点就会判断缓存的数据是否过期,没有过期就直接返回数据,如果过期了,节点就会向源站点发出请求,从源站点来取最新的数据来更新本地数据并同时把更新的最新数据返回给浏览器。
一般来说cdn节点对于开发者来说是透明的,会向开发者提供更新缓存的接口来更新节点的缓存。这样就可以保证数据的时效性。

以上就是对cdn缓存的一些小介绍,如有不对的地方还请指正~~