内容交付网络 (CDN) 是地理上分布的服务器网络,这些服务器协同工作以提供互联网内容的快速交付。它们可以快速传输加载互联网内容所需的资源,包括 HTML 页面、JavaScript 文件、样式表、图像和视频。
内容分发网络的起源和历史
CDN 的概念首次出现于 20 世纪 90 年代末,作为“全球等待”问题的解决方案。互联网的蓬勃发展降低了网页和在线内容的传输速度。首次提及 CDN 是 Sandpiper Networks 于 1998 年申请的一项名为“分布式内容交付系统和方法”的专利。
随着互联网的发展,对 CDN 服务的需求也在增长。如今,CDN 服务于所有网络流量的很大一部分,包括网络对象(文本、图形)、可下载对象(媒体文件、软件、文档)、应用程序(电子商务、门户)、实时流媒体、点播流媒体和社交网络。
深入:内容交付网络
CDN 从根本上讲是关于速度和可靠性。它们旨在解决延迟问题,即请求加载网页时发生的延迟以及在屏幕上完全显示内容所需的时间。
请求传输的距离越远,延迟就越高。 CDN 通过在世界各地的多个服务器上缓存内容来解决这个问题,因此当用户发出请求时,内容将从最近的服务器或“边缘服务器”传送,从而减少其传输的距离。
CDN 的内部结构和功能
CDN 由两个主要组件组成:源服务器和边缘服务器网络。源服务器保存 Web 内容的原始“主”副本。边缘服务器战略性地分布在世界各地,并存储该内容的缓存版本。
当用户请求内容(如视频或网页)时,距离用户最近的 CDN 边缘服务器会传送缓存的内容,从而确保最短的延迟和最快的加载时间。如果请求的内容在边缘服务器上不可用,它会从源服务器或附近的边缘服务器检索该内容。
CDN 的主要特点
- 表现:通过缓存靠近用户的内容,CDN 可以减少延迟并提高内容交付的速度。
- 可扩展性:CDN 可以处理突然的流量峰值和重负载,确保内容始终可用。
- 可靠性:通过在许多服务器上分发内容,CDN 可以防止故障并确保服务不间断。
- 安全:CDN 提供 DDoS 保护、安全令牌和 IP 阻止等安全措施。
CDN 的类型
CDN 有多种类型,可以满足不同的需求:
CDN 类型 | 描述 |
---|---|
标准CDN | 从边缘服务器传送缓存的静态内容。 |
动态站点加速 (DSA) | 优化动态、不可缓存内容的交付。 |
私有CDN | 由大型公司等单一实体构建和使用的自定义 CDN。 |
混合CDN | 结合了私有和公共 CDN 的功能。 |
使用、问题和解决方案
CDN 被广泛的行业所使用:电子商务网站用于更快地查看产品,媒体网站用于快速图像加载,以及在线游戏用于快速、无缝的游戏。它们对于具有全球影响力的企业特别有利。
然而,CDN 的使用可能会导致一些问题,例如缓存中毒,其中攻击者发送响应,导致 CDN 缓存不正确的网站版本。这些问题可以通过严格的缓存控制机制和采用安全的 HTTP 标头来缓解。
比较与特点
CDN 可以与传统的网络托管进行对比。在传统托管中,所有内容都来自一台服务器。但使用 CDN,内容来自分布在全球的多个服务器,从而实现更快、更可靠的内容交付。
CDN 的主要特征包括 PoP(存在点)数量、总网络容量(以 Tbps 为单位)以及可以传送的内容类型(静态、动态、实时流媒体等)。
未来前景和技术
5G 和边缘计算等新兴技术预计将影响 CDN 的未来。 5G将增加对高质量内容的需求,边缘计算将增强边缘服务器的处理能力。
CDN 还将与云服务更加集成,更加注重安全,提供 Bot 缓解、Web 应用程序防火墙 (WAF) 和 DDoS 防护等服务。
代理服务器和 CDN
代理服务器和 CDN 都参与 Web 内容的交付。代理服务器充当客户端从其他服务器寻求资源的请求的中介,而 CDN 则相对于最终用户在空间上分配服务,以提供高可用性和高性能。代理服务器可以成为 CDN 基础设施的一部分,帮助缓存和交付内容。