多多读书
993 字
5 分钟
优化网站性能与安全性:深入理解内容分发网络(CDN)
2023-09-04

内容分发网络(Content Delivery Network,CDN)是一个由位于不同地理位置的服务器组成的网络架构。它的核心功能是在用户请求内容时,将请求调度到距离最近的服务节点,以快速响应并返回内容,从而减小网络传输距离,降低延迟。

CDN 在广泛的 Web 应用中扮演着重要的角色,几乎所有的 Web 应用都会使用 CDN 来提高网络加载速度。作为前端工程师,你经常会听到关于 CDN 的提及,这是因为 CDN 带来了诸多好处,包括:

  1. 提高静态资源(如图片、JavaScript、CSS 等)的加载速度。
  2. 当用户量激增时,源站服务器的配置要求会变得很高,带宽成本也会上升,但 CDN 能够减轻服务器压力,降低网络成本。
  3. 增强安全性,防止网站内容被劫持或盗链。

如果你之前没有接触过 CDN,可能对其中的一些概念不够清晰。接下来,我们将重点介绍 CDN 的概念和应用,以腾讯云 CDN 为例。

腾讯云 CDN 的配置步骤如下:

  1. 进入内容分发网络,点击域名管理,然后点击添加域名。

image.png

  1. 随后,按照步骤进行配置。腾讯云 CDN 提供了每一步配置的详细介绍,使配置过程相对顺畅。

image.png

在这里,还需要解释一些相关名词:

  • 自有源: 表示已经有稳定运行的业务服务器(即源站),也就是你的资源存储在自己的服务器上。
  • COS 源: 表示你的资源存储在腾讯云提供的对象存储(COS)服务上。
  • 第三方对象存储: 意味着除了腾讯云 COS 外,还支持其他第三方对象存储,目前支持的有:AWS S3,阿里云 OSS,华为 OBS 和七牛云 kodo。
  • 回源: 如果用户访问资源未从 CDN 节点获取到资源,系统将从你的源站地址获取资源,这个过程称为回源。
  1. 配置完成后,需要配置 CNAME 记录。

image.png

CNAME 记录的作用是将一个域名解析到另一个域名上,就像上图所示的域名和 CNAME 配置。配置的具体步骤需要在域名配置页面进行,这里不再详细介绍。

当资源被添加到源站后,以下特点需要注意:

  1. 在缓存有效期内,即使修改了源站资源,响应内容不会改变。
  2. 通过修改 URL 后面的参数,可以触发请求回源,以获取最新资源。

这是我们通常用来解决网站内容更新但不生效的问题的方法。通过修改 URL 后添加的版本参数,你可以确保原始 URL 能够访问到最新资源。如果你想要在不修改 URL 的情况下访问最新资源,那么刷新缓存是一个解决方案。接下来,我们将介绍刷新和预热这两个概念。

  • 刷新: 刷新是指删除节点上的缓存资源,以便请求可以回源并获取最新的资源。腾讯云 CDN 提供了两种刷新方式:刷新 URL 和刷新目录。

  • 预热: 预热是指从源站获取资源并将其缓存到 CDN 加速节点。通过提前缓存资源到 CDN 节点,可以减少回源操作,降低源站服务器的负载。

通过阅读本文,你应该能够回答以下几个问题:

  1. 为什么将静态资源存放在 CDN 上可以提高网站加载速度?
  2. 如何解决 CDN 缓存导致无法获取最新资源的问题?
  3. 在大量用户同时请求时,有哪些功能可以降低源站服务器的压力?

希望这些信息能够帮助你更好地理解 CDN 的工作原理和应用。

优化网站性能与安全性:深入理解内容分发网络(CDN)
https://fuwari.vercel.app/posts/20230904/
作者
我也困了
发布于
2023-09-04
许可协议
CC BY-NC-SA 4.0