使用CDN提高网页访问速度

2018-05-15 · 🙈Lei · 0条 · 334次

当有人访问我们网站的时候,如果能够从距离他们最近的服务器上获取网站资源将会大大减少访问时间,这就是CDN(内容分发网络)在做的事情。

试想如果一个网站全部是静态内容,然后将整个页面上的所有内容全部使用CDN部署,那么无论从何地访问该网页,速度都会比原始的访问方式(所有的请求都发送到你的网站服务器)要快很多。但是现在很少有静态网站,大部分的网站都是动态的,甚至无时无刻不在变化。动态网站就不能将全部内容使用CDN部署,这会导致用户无法看到最新的内容。但是我们依然可以将网站上很多不会经常性发生变化的内容放在CDN上,例如网站的CSS、JS、图片、字体等资源。

入下图所示,是我的博客中(www.geek-era.com)的JS文件对应的地址:

然后我用站长工具ping一下这个地址(cdn.geek-era.com),看看能得到什么结果:

可以发现在不同地区的服务器ping地址cdn.geek-era.com得到的ip是不同的。这就是因为当我们使用CDN后,网站上的这些静态资源将不再从我们的服务器上获取,而是从由CDN提供的距离用户最近的服务器上获取缓存资源。

然后我再ping一下www.geek-era.com,我们对比一下从海外和中国香港访问www.geek-era.com和cdn.geek-era.com哪个速度更快一些:

结果显而易见。这就是使用CDN的好处。


既然CDN这么有用,那么目前都有哪些可用的CDN服务呢?

目前的CDN服务提供商相当多,我在将本站静态内容部署到CDN上的过程中体验过七牛、又拍、腾讯云,当然阿里等很多其他公司都有这样的服务。我最后选择了又拍云。服务基本上都是收费的,而且对不同的区域、不同的访问方式(http和https)的收费价格不同,但是还都在可承受范围内。

腾讯云如果溯源到腾讯云存储的bucket,是不是要手动将资源上传到腾讯云存储?因为我没有找到自动上传的设置。

七牛跟又拍是有点像的,不同的是七牛需要先建立一个存储空间,然后与CDN加速域名绑定后即可回源到七牛的云存储上;又拍则直接在CDN服务中选择开启源站资源迁即可。七牛每月提供定额的免费空间和免费流量,又拍加入又拍联盟才可享有。七牛上存储的文件可以直接在网页后台看到,而又拍的需要下载FTP或者Upyun Manage进行管理。

基本上都支持https,而且提供申请免费的证书,以及上传个人证书。其中又拍云的Let's encrypt证书过期自动申请,这也是我选择又拍云的原因之一。

对于速度我没有测试过,至于选择哪一种,主要看个人心情吧,哈哈。

对于搭建不做过多介绍,如果有相关疑问可以留言。


下面给自己,也给又拍打个小广告,附上自己的优惠链接,通过链接(https://console.upyun.com/register/?invite=Hk2U1yP...)开通CDN服务,你(下面的奖励是被邀请人的)可以获得下面的优惠:

记住:加入又拍联盟可以获得免费流量和空间。



  0