内容出自前端性能优化原理与实践,我作为笔记简单记录下。
CDN的缓存与回源机制解析
CDN (Content Delivery Network,即内容分发网络)指的是一组分布在各个地区的服务器。根据哪些服务器与用户距离最近,来满足数据的请求。
为什么要用 CDN
缓存、本地存储带来的性能提升,只能在“获取到资源并把它们存起来”这件事情发生之后?,即非第一次请求资源。要提升首次请求的响应能力,要借助 CDN。
CDN 如何工作
哪个服务器离请求方近,哪个服务器就响应请求,如果服务器没有这个资源就向别的服务器要。
CDN的核心功能特写
CDN 的核心点有两个,一个是缓存,一个是回源。
“缓存”就是说我们把资源 copy 一份到 CDN 服务器上这个过程,“回源”就是说 CDN 发现自己没有这个资源,回头去向上层服务器拿资源。
CDN 与前端性能优化
CDN 往往被用来存放静态资源。CDN 服务器则像一个仓库,它只充当资源的“栖息地”和“搬运工”。
所谓“静态资源”,就是像 JS、CSS、图片等不需要业务服务器进行计算即得的资源。
CDN 的实际应用
比如以淘宝为代表的阿里系产品,就遵循着这个“规定”。
CDN 优化细节
CDN 的域名选取:
业务服务器的域名是这个:
www.taobao.com
而 CDN 服务器的域名是这个:
g.alicdn.com
Cookie 是紧跟域名的。同一个域名下的所有请求,都会携带 Cookie。同一个域名下的请求会不分青红皂白地携带 Cookie,而静态资源往往并不需要 Cookie 携带什么认证信息。把静态资源和主页面置于不同的域名下,避免了不必要的 Cookie 。