首页 / SEO book / 性能与核心网页指标 / 内容分发网络(CDN)新手指南

内容分发网络(CDN):新手指南

内容分发网络(CDN)新手指南性能与核心网页指标

了解 CDN 如何加速网站。本指南涵盖基础知识、好处、注意事项与主流服务商。

什么是 CDN?

内容分发网络(CDN)是一个由服务器组成的分布式系统,会根据用户的地理位置,把网页、图片、视频等网络内容分发给用户。

CDN 有三个主要组成部分:

  • 源服务器(Origin servers):托管实际网站内容(如文字、图片、视频等)的原始服务器。网络内容源自这些服务器。
  • 边缘服务器(Edge servers):CDN 在地理上分散部署服务器,把它们放置在更接近终端用户的位置。边缘服务器存储网络内容,以便更快地分发给用户。
  • 接入点(PoPs,Points of presence):容纳边缘服务器的数据中心。PoP 就像交通枢纽。内容在移动到更接近用户的其他边缘服务器位置之前,会先在这些数据中心停留。

CDN 的源服务器与边缘服务器更接近终端用户,它们把网络内容存储在临时区域中以实现更快访问。该存储区域称为“缓存(cache)”。

内容如何通过 CDN 分发

CDN 是如何工作的?

CDN 可读取 IP 地址并确定用户在网络上的位置。因此,当用户访问使用 CDN 的网站时,CDN 会查看用户位置,找到离他们最近的边缘服务器。

下面是 CDN 工作原理的一个例子:

假设网站源服务器在纽约,而你在澳大利亚布里斯班有需要访问网站的顾客。

当布里斯班的访客尝试打开页面或访问内容时,CDN 不会让请求跨越全球 10,000 英里到达纽约的服务器,而是将其路由到最近的边缘服务器。

一张展示内容在无 CDN 和有 CDN 情况下如何分发的图

因此,布里斯班的用户不再需要跨越全球的缓慢往返,而能从近得多的边缘服务器快速完成页面加载。

加载网页的缓存版本可缩短页面加载速度并改善用户体验。用户能立刻看到想要的页面,无需等待它从遥远的主源服务器传来。

CDN 有哪些好处?

CDN 能带来性能、成本与安全方面的多项好处。

改善网站加载时间

CDN 通过从离访客更近的边缘服务器提供内容,改善网站加载时间。

数据传输距离越短,页面加载越快。

然而,页面加载缓慢也可能由其他问题引起,例如代码质量差、图片未优化,或页面体积过大。

在实施 CDN 之前,应先找出并修复任何与 CDN 无关的问题。

先从免费的 SEO 检查入手,快速了解页面速度。

若想更深入地查看网站上的问题,可使用 Semrush 的 Site Audit 工具,检测影响页面加载速度的问题并提供修复建议。

操作方法如下:

先点击左侧菜单中的“Site Audit”,再点击右上角的“+ 创建项目(Create project)”。

在 Site Audit 工具中创建项目

输入网站 URL 与项目名称,然后点击“创建项目(Create project)”。

在 Site Audit 中输入你的网站 URL

配置设置,然后点击“开始 Site Audit(Start Site Audit)”。

“Site Audit Settings”窗口

然后,在“Site Performance(网站表现)”标题下点击“查看详情(View details)”。

Site Audit 概览仪表盘下高亮显示的“网站性能”小组件

这会进入一个概览页面,其中列出可能拖慢网站的问题。例如,过大的 JavaScript 或 CSS 文件:

Site Performance 报告仪表盘

可将鼠标悬停在项目旁的“为什么以及如何修复(Why and how to fix it)”上,查看每个问题的修复方法。

为何以及如何修复某个问题的窗口

修复这些网站速度问题并加上 CDN,可把页面速度提升到下一个层级。

降低带宽成本

由于边缘服务器处理了大多数请求,CDN 能节省带宽成本,并减少流向源服务器的流量。

  • 不使用 CDN:所有访客请求都直接到达你的中央服务器。随着网站流量增长,这会压垮你的服务器和带宽。例如,来自新品发布、软件更新和爆款帖子等事件的流量高峰,很容易让你的服务器过载。
  • 使用 CDN:边缘服务器处理大多数访客请求。这减少了流向源服务器的流量,降低了带宽使用量,并减少了来自你的中央托管基础设施的成本。

由于 CDN 在本地缓存内容,中央服务器不必反复发送相同的文件。CDN 负责把已缓存的数据分发给附近访客,从而降低你这一端的服务器成本。

提升网站正常运行时间

CDN 通过在多个边缘服务器上复制内容来提升正常运行时间。一台服务器宕机时,其他服务器仍保持在线,从而消除单点故障。

例如,若北美的某台边缘服务器宕机,亚洲与欧洲的本地边缘服务器将继续为访客提供服务。

加强网站安全

CDN 可通过防御分布式拒绝服务(DDoS)攻击等常见威胁来加强网站安全。

DDoS 攻击旨在从多个来源向网站或在线服务灌入虚假流量,使其无法访问,如下所示:

一次 DDoS 攻击

图片来源:Indusface

CDN 通过把这种虚假流量分散到全球网络中,防止单台服务器被压垮。

一些 CDN 还提供 Web 应用防火墙、DDoS 防护服务与其他安全措施,在威胁到达网站之前就检测并缓解。

选择 CDN 时的考虑因素

成本结构

CDN 提供按使用量计费、分层、固定费率或混合套餐等定价模式,具体取决于数据传输量与流量规模。

CDN 定价的典型方式如下:

  • 固定费率定价:无论用量多少,每月一个价格
  • 分层定价:根据流量规模支付固定的月费
  • 混合模式:把固定费用与超出额度后的按使用量收费结合起来
  • 按使用量定价:为传输的数据量/使用的带宽付费

可以考虑用预估的流量规模在各关键地区做试运行测试,这有助于根据用量与性能需求,确定最具成本效益的 CDN 套餐。

边缘服务器的位置

CDN 的边缘服务器应与你目标市场的位置一致。因此,请查看网站分析数据,找出为网站带来最多流量的国家/地区。

例如,可在 Google Analytics 4(GA4)中,通过 报告(Reports) > 用户属性(User Attributes) > 人群特征(Demographic details) 查看按国家/地区划分的人群特征详情:

Google Analytics 4 中按国家划分的人口统计详情

查看流量分析后,在关键用户所在地区选择边缘服务器,可为目标市场带来更快的加载时间。

高级缓存选项

CDN 允许自定义缓存规则,控制内容如何以及何时被存储与从缓存中提供。

例如,借助 CDN,可以:

  • 设置生存时间(TTL)策略。TTL 指定内容在被自动过期之前保持缓存多长时间。较短的 TTL 能避免频繁更新的内容产生过时副本。
  • 配置只缓存特定文件类型或内容的规则。例如,你可能想缓存常见图片,但不缓存受限制的用户资料页。
  • 在需要时手动清除缓存内容。比如在改版后清掉旧的产品页。
  • 为公共内容和私有内容设置单独的缓存规则。公共页面可以广泛缓存,而私有数据可能不缓存。
  • 优先缓存频繁访问的静态内容。比如热门图片、样式表和 JavaScript 文件。

微调缓存控制可按自身需求选择性地缓存内容,从而降低成本、减少源服务器负载、保持数据新鲜,并提升页面加载速度。

安全措施和访问控制

评估 CDN 时,应确保其提供如下安全防护:

  • DDoS 缓解:CDN 应在 DDoS 攻击到达你的源服务器之前就吸收并缓解它们
  • Web 应用防火墙(WAF):边缘服务器上的 WAF 可以拦截常见的网络威胁和恶意机器人
  • 访问控制:访问控制让你能控制谁能访问你的内容。一种做法是创建一个已批准 IP 地址的“允许列表(allowlist)”。
  • HTTPS 支持:加密的 HTTPS 连接能在数据穿过 CDN 服务器时保持其安全

强大的安全措施对于保护网站、以及在敏感用户数据经过 CDN 时保护它们至关重要。

值得关注的 CDN 服务商

免费和低成本的 CDN

Cloudflare

Cloudflare 是一项既能加速又能保护网站的 CDN 与 Web 安全服务。Cloudflare 提供免费套餐,包含 SSL 证书、DDoS 防护与 Web 应用防火墙(WAF)。

其服务器网络覆盖超过 300 个城市与 100 个国家,并在 2022 年 IDC MarketScape 全球商业内容分发网络服务评估中被认定为领导者。

Amazon CloudFront

Amazon CloudFront 是另一个由 Amazon Web Services(AWS)提供的低成本 CDN 服务,具备与 CloudFlare 类似的安全功能,但服务器网络更大。

CloudFront 还能与其他 AWS 服务原生集成,实现快速部署。

针对媒体分发优化的 CDN

Akamai

Akamai 是一项提供视频流与大规模下载等媒体内容分发解决方案的 CDN。

它有一个 Image & Video Manager 解决方案,能针对每位用户的设备与网络连接自动优化图片和视频,以提供最佳体验。它通过缩放、裁剪、颜色调整、叠加等方式转换媒体,同时减小文件体积。

Fastly

Fastly 提供一个全球云 CDN 平台,具备内置安全、即时可扩展性与实时可见度。其边缘网络专为加速网站、移动应用与 API 上的视频内容及直播流分发而设计。

与云平台集成的 CDN

Microsoft Azure CDN

Microsoft Azure CDN 是一项能与 Azure 服务无缝集成、可在几分钟内完成部署与启用的 CDN。它在全球拥有 192 个 PoP,覆盖 109 个都市圈。

Microsoft Azure CDN 提供的功能与其他 CDN 类似,包括大文件与视频流的分发、DDoS 防护与 WAF。

Google Cloud CDN

Google Cloud CDN 是与 Google Cloud Platform 集成的内容分发网络,用于加速网站、应用以及来自 Google Compute Engine 的云存储分发。

使用 Google Cloud CDN,可借助 Google 遍布全球的边缘节点网络,把内容缓存并分发到离用户更近的位置。

善用 CDN

CDN 可为网站带来速度、安全与成本方面的好处。

评估 CDN 选项时,务必考虑定价模式、与用户一致的边缘服务器位置,以及所需的安全功能等因素。

然而需记住,页面加载缓慢也可能源于其他与 CDN 无关的网站问题。

因此,实施之前应先找出并修复非 CDN 问题,例如未优化的图片、低效的代码等。

使用免费的 SEO 检查器简化这一过程,并确保网站达到最佳性能。