内容分发网络 (CDN):你需要了解的一切
内容分发网络 (CDN) 是一组分布在全球的计算机组成的网络,用于存储靠近最终用户的信息。CDN 允许快速分发执行在线下载所需的内容,包括互联网上的网页、Java 文档、样式表、图像和多媒体。CDN 服务正变得越来越受欢迎,现在大多数在线流量都通过 CDN 提供,包括来自社交媒体、Netflix 和亚马逊等大型网站的流量。
正确构建的 CDN 还可以帮助防御常见的恶意攻击,例如分布式拒绝服务 (DDOS) 攻击。
CDN 与 Web 主机相同吗?
虽然 CDN 不会存储内容,也无法替代专业的 Web 托管服务,但它确实有助于在网络边界缓存数据,从而加快网站加载速度。许多网站需要使用标准托管服务提供商来满足其速度要求。因此,他们转向 CDN。
CDN 越来越成为一种常见的选项,可以利用缓存来缓解与传统网站托管相关的某些主要痛点,从而降低主机带宽、防止服务中断并提高安全性。
CDN 如何工作?
CDN 在多个国家/地区(称为访问点或 PoP)中保留其内容的缓存副本,以缩短访问者与网站服务器之间的距离。每个访问点都有自己的缓存服务器,负责向该区域的用户提供内容。
简单来说,CDN 同时将您的内容交付到多个位置,从而扩大受众范围。当来自伦敦的访问者查看您在美国托管的网页时,他们通过授权的英国访问点进行访问。这比将访问者的请求和响应发送到跨越大西洋并返回要有效得多。
简单来说,这就是 CDN 的工作原理。当我们认为需要一整本书来描述交付内容的网络的内部功能时,我们发现向下挖掘的路径要深刻得多。
谁在使用 CDN?
几乎所有人。CDN 目前已提供超过 50% 的所有流量。这些数字每年都在稳步上升。如果您的组织的任何部分都在线,那么不使用 CDN 的理由很少,主要是因为许多 CDN 提供免费服务。
尽管 CDN 是一项免费服务,但并非所有人都适用。主要的是,当您运营一个严格本地化的网站时,大多数访问者都位于服务器的同一位置,CDN 将提供最小的优势。实施 CDN 可能会通过在用户和现有的附近服务器之间添加另一个不必要的中间体来降低网站速度。
但是,大多数网站都以更大的规模运行,这使得 CDN 在以下行业成为一个普遍的决策
营销
娱乐和媒体
在线游戏
电子商务
移动医疗保健
高等教育
政府
使用 CDN 的好处
虽然使用 CDN 的好处因在线网站的数量和需求而异,但大多数用户的关键好处可以分为四类
通过减少网站下载速度并将内容分发给附近的互联网用户(以及其他优化)来提高查看者体验,从而获得更快的打开时间。CDN 可以减少跳出率并增加用户在网站上花费的时间,因为访问者倾向于放弃加载缓慢的网站。简而言之,更快的网页可以吸引并留住更多访问者。
降低带宽成本 - 网站托管网站的带宽成本是一项重要支出。CDN 可以通过缓存和其他优化来减少源服务器需要提供的流量,从而降低网站所有者的托管成本。
提高内容可用性和弹性 - 高流量或硬件问题可能会中断正常的网站运营。由于其分布式特性,CDN 可以处理更大的流量并比多个源服务器更好地应对硬件故障。
增强网站安全性 - CDN 可以通过提供 DDoS 防护、安全证书更新和其他优化来增强网站安全性。
CDN 的缺点
使用 CDN 可能对您的网站速度产生一些负面影响,包括成本、复杂性和管理问题。CDN 的成本可能很高,具体取决于各种因素,包括流量、带宽使用量和服务提供商。除了隐藏成本(例如数据传输费用、超额费用和最低承诺)之外,其他服务(例如自定义字段、加密密钥和统计信息)也可能会收费。此外,CDN 可能使网站管理变得复杂,因为您需要配置、监视和修改 CDN 配置以及原始服务器。互操作性问题、缓存故障和内容交付延迟都是可能的。此外,由于您可能依赖第三方供应商来交付内容、安全性、速度,因此 CDN 可能会限制您对网站内容的控制。您可能还需要遵守其条款和条件,这可能会限制您的自由和灵活性。最后,您可能会遇到您这边发生的任何中断、故障或效率问题,这些问题可能会影响您的网络形象和可用性。
替代方案
如果您出于任何原因必须使用 CDN,请考虑使用子域。许多 CDN 允许您为网站建立一个单独的域,其中可以放置图像。您可以通过更改 DNS 记录将特定子域(例如 images.xyz.com)发送到 CDN。这样,所有图像或其他类型的资产似乎都是您域生态系统的一部分——但请记住,这不是保证的。
这是一个很好的开始,但如果涉及子域,则 Google 无法保证将您的域视为您网络形象的一部分。在这种情况下,因为只有图像会驻留在该子域下,所以 Google 可能将其视为与您的网页无关的电子存储库。它可能会发生,也可能不会。Google 使用其算法来确定您的域是否是您网页的一部分——Google 对子域的处理方式因网站内容而异。
重复内容
使用 CDN 时要克服的另一个改进领域是重复内容的可能性。但是,如果 CDN 配置正确,则您不应该遇到任何问题。
您可以通过使用通用标头配置来避免此问题,该配置通知 Google 爬虫 CDN 上的内容是源内容的副本。
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP