最近看了下关于网页性能优化的内容,今天简单的总结下CDN如何来完成网页的优化。
一. 什么是CDN
英文全称是:Content Delivery Network,翻译过来就是内容分发网络。它是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。如下图所示:
从图中可以看出,在每个网络运营商处都会添加一个CDN节点,在这个网络运营商中的用户就可以就近去获取自己的资源,这样可以大大减少用户请求资源的响应时间。
二. 浏览器有缓存,为什么还需要CDN
我们都知道,浏览器会对我们访问网站的静态资源进行缓存,可是为什么还需要CDN呢?因为现在一般比较大的网站都会有多个站点,每个站点当然都属于不同的域,然而浏览器的缓存是根据不同的域来缓存的,也就是说,不同的域引用了同一个资源,浏览器会把每个域的都缓存下来。这样在加载资源时肯定会影响网页的性能,也会占用用户本地的内存空间。如果我们把这些资源都放在一个站点,这样不同的域都来引用这一个站点的静态资源,那问题就解决了,就算用户访问同一网站的不同的域,它们引用的静态资源都在同一个站点,这样就不会再次缓存了。这时CDN就派上用场了。
三. 如何使用CDN
可以部署自己的CDN站点,这样就可以将自己网站的静态资源像js,css,图片等放上去;
也可以引用外界的CDN服务,如果自己的网站用到像jQuery一样的类库时,就可以引用世界公用的资源。