什么是CDN?怎么加速外贸网站?免费方案

蜗牛大人WordPress建站教程

CDN(Content Delivery Network,内容分发网络)是分布在世界各地的一组服务器。它把你网站上的图片、CSS、JS这些文件复制一份存到各地的节点上,访客打开网站时,从离他最近的节点拿这些文件,而不用每次都连到你那台远在另一个国家的服务器。

需要先说明一点:CDN只能加速静态资源,比如图片、CSS、JS、字体。访客对网页本身的请求(打开页面、登录后台、加入购物车、结账)仍然要到达你的原始服务器,由源站处理,CDN加速不了这部分。所以CDN不是“装上就全站变快”,它解决的是静态文件离得远的问题。

对建站的人来说,结论很简单:客户分布在多个国家的网站都应该开CDN,而且一般不需要花钱,常用的海外主机都自带,Cloudflare也有免费版。

为什么需要CDN?

网站的服务器只在一个地方。假设你的外贸网站放在美国的机房:

  • 美国客户打开网站,数据只需要在美国境内传输,很快;
  • 德国客户打开网站,每一张图片都要跨过大西洋传过去;
  • 澳大利亚客户更远,页面上几十个文件每一个都要绕半个地球。

距离越远,延迟越高,页面加载就越慢。而一个网页里,体积最大的恰恰是图片、样式和脚本这些不会变化的文件。CDN做的事情就是把这些文件提前放到德国、澳大利亚的节点上,当地的访客就近获取。

CDN的工作原理

CDN工作原理示意图:源站内容缓存到全球各地的边缘节点,访客从最近的节点获取内容
CDN工作原理示意图:源站内容缓存到全球各地的边缘节点,访客从最近的节点获取内容
  1. 接入:把域名接到CDN上,访客的请求先到CDN,而不是直接到你的服务器(源站);
  2. 就近分配:CDN根据访客的位置,把请求交给离他最近的节点;
  3. 命中缓存:节点上已经有访客要的文件,就直接返回,不需要联系源站;
  4. 回源:节点上没有这个文件,或者缓存已经过期,节点会向源站取一次,返回给访客的同时自己存一份,下一个访客就能直接用了。

静态文件(图片、CSS、JS、字体)适合缓存,CDN的加速效果主要体现在这里。动态内容(WordPress后台、购物车、结账页面)每个人看到的都不一样,默认不会被缓存,请求仍然要到达源站,由源站处理。

CDN的作用

  1. 提高访问速度:访客就近获取文件,离服务器越远的访客,提升越明显;
  2. 减轻服务器压力:大部分静态文件的请求被CDN挡在前面,源站的CPU和带宽消耗都会下降,共享主机不容易资源超限;
  3. 应对流量高峰:促销、广告投放带来的突发访问,由CDN的节点分担;
  4. 压缩和合并资源:一般的CDN还带有资源优化功能,自动对CSS、JS、HTML做压缩(Gzip、Brotli),有的还能压缩图片,并减少请求的数量,让需要传输的数据更小;
  5. 防攻击:多数CDN同时带有防火墙和DDoS防护,可以拦截恶意爬虫和攻击流量,并且隐藏源站的真实IP。

什么网站需要CDN?

情况是否需要
外贸网站,客户分布在多个国家需要
图片多的产品站、WooCommerce商店需要
共享主机经常提示资源超限建议开,可以减轻服务器负担
客户集中在一个国家,服务器也在那个国家作用有限,可以为了防护功能而开
网站还在搭建、频繁改版可以先不开,或者打开开发模式

CDN解决的是“距离远”造成的慢。如果网站慢是因为服务器配置低、插件太多、图片没有压缩,CDN帮不了太多,这些问题要另外处理。

建站用的主机自带CDN吗?

对于用WordPress做外贸网站的朋友,一般不需要单独购买CDN。Hostinger和SiteGround都自带CDN,优先使用主机自带的:和主机、缓存功能是配套的,在后台打开开关就可以用,不用改DNS,也少一层排查的麻烦。

  • Hostinger:虚拟主机和云主机套餐包含CDN,在网站Dashboard的「Performance」→「CDN」里启用,步骤见《Hostinger的网站如何启用CDN?》。VPS不包含;
  • SiteGround:自带的CDN在全球有170多个节点,在Site Tools的「Speed」→「CDN」里开启,建站流程见《SiteGround建站教程:从购买到WordPress网站上线》;
  • Cloudways:提供Cloudflare Enterprise CDN附加项,每个域名每月$4.99起,也可以自己接入免费的Cloudflare。

除了主机自带的,Cloudflare是最常用的第三方CDN,免费版对一般的企业站已经够用。用Cloudflare需要把域名的DNS服务器改到Cloudflare,适合域名和主机不在同一家、或者用VPS的情况。

用CDN要注意什么?

1. 只用一个CDN

主机自带的CDN和Cloudflare不要同时开,两层缓存叠在一起,出了问题很难排查。Hostinger的CDN和Cloudflare本身也不能同时使用。

2. 改了内容没变化,先清缓存

修改了网站的样式或者替换了图片,前台看到的还是旧的,多半是CDN节点上的缓存还没更新。到CDN的管理页面清除一次缓存,同时清一下WordPress缓存插件的缓存。网站在频繁改版的时候,可以打开开发模式临时绕过缓存。

3. 启用时DNS记录会变化

接入CDN之后,域名的解析会指向CDN而不是源站。如果给域名设置过自定义的解析记录,启用前先截图保存一份。

4. 国内访问的情况

海外CDN的节点基本都在中国大陆以外。从国内打开网站,走的是离大陆最近的海外节点,速度不一定比直连源站快。外贸网站的客户在国外,这一点影响不大;自己在国内测试觉得慢,不代表海外客户也慢,可以用在线测速工具选择海外的测试点来看。

常见问题

CDN要花钱吗?

多数情况不用。Hostinger和SiteGround的CDN包含在主机套餐里,Cloudflare有免费版。流量很大、或者需要更高级的防护和图片优化时,才需要付费版。

CDN会影响SEO吗?

不会有负面影响。网址没有变化,网站速度更快对排名是有利的。

有了CDN,服务器的机房位置还重要吗?

重要。动态内容仍然由源站处理,后台操作、结账这些环节的速度取决于服务器的位置和性能。机房仍然要选离主要客户近的,参考《Hostinger如何选择机房位置?》和《Siteground的服务器是哪国的?》。

CDN和缓存插件是一回事吗?

不是。缓存插件是在服务器上把动态页面提前生成好,减少PHP的运算;CDN是把文件放到离访客近的地方。两者解决不同的问题,可以同时使用。缓存插件的设置见《Siteground自带的网站加速神器》和《Hostinger里如何做WordPress网站的性能优化?》。

总结

CDN把网站的静态文件缓存到全球各地的节点上,让远距离的访客就近获取,同时减轻服务器的压力,并提供资源压缩和防攻击的功能。它只加速静态资源,页面的原始请求仍然要到达源站。客户分布在多个国家的外贸网站都应该开启,Hostinger和SiteGround的套餐里已经包含,优先用自带的;Cloudflare也有免费版,一般不需要另外花钱。开启之后记住两件事:只用一个CDN,改了内容看不到变化就清缓存。

文章版权归作者所有,转载请注明出处:https://woniune.com/posts/what-is-cdn/
上一篇SiteGround企业邮箱怎么设置?

相关推荐