内容分发网络 - Content Delivery Network 学习笔记

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 内容分发网络 - Content Delivery Network 学习笔记

缓存是将文件副本存储在缓存或临时存储位置的过程,以便可以更快地访问它们。从技术上讲,缓存是文件或数据副本的任何临时存储位置,但该术语通常用于指代 Internet 技术。 Web 浏览器缓存 HTML 文件、JavaScript 和图像以更快地加载网站,而 DNS 服务器缓存 DNS 记录以加快查找速度,CDN 服务器缓存内容以减少延迟。


要了解缓存的工作原理,请考虑真实世界的食物和其他补给缓存。 1912 年,探险家罗尔德·阿蒙森 (Roald Amundsen) 从南极之旅返回途中,他和他的手下靠沿途储存的食物维持生计。这比在他们旅行时等待从他们的大本营运送补给品更有效。 Internet 上的缓存也有类似的用途;它们临时存储用户在网络上进行旅程所需的“用品”或内容。


What does a browser cache do?

每次用户加载网页时,他们的浏览器都必须下载大量数据才能显示该网页。 为了缩短页面加载时间,浏览器会缓存网页上显示的大部分内容,将网页内容的副本保存在设备的硬盘上。 这样,下次用户加载页面时,大部分内容已经存储在本地,页面加载速度会快得多。


浏览器存储这些文件,直到它们的生存时间 (TTL) 到期或直到硬盘缓存已满。 (TTL 表示内容应缓存多长时间。)如果需要,用户还可以清除浏览器缓存。


What does clearing a browser cache accomplish?

清除浏览器缓存后,加载的每个网页都会像用户第一次访问该页面一样加载。 如果第一次加载错误并被缓存,清除缓存可以让它正确加载。 但是,清除浏览器缓存也会暂时减慢页面加载时间。


What is CDN caching?

CDN 或内容交付网络将内容(例如图像、视频或网页)缓存在比原始服务器更靠近最终用户的代理服务器中。 (代理服务器是从客户端接收请求并将它们传递给其他服务器的服务器。)因为服务器离发出请求的用户更近,所以 CDN 能够更快地交付内容。


image.png


将 CDN 想象成连锁杂货店:购物者无需一路前往可能有数百英里外的种植食物的农场,而是前往当地的杂货店,这仍然需要一些旅行,但 更接近。 因为杂货店从遥远的农场储存食物,所以杂货店购物需要几分钟而不是几天。 同样,CDN 缓存“库存”出现在 Internet 上的内容,以便更快地加载网页。


当用户使用 CDN 从网站请求内容时,CDN 从源服务器获取该内容,然后保存该内容的副本以供将来请求。 只要用户继续请求,缓存的内容就会保留在 CDN 缓存中。


What is a CDN cache hit? What is a cache miss?

缓存命中是指客户端设备向缓存请求内容,并且缓存已保存该内容。 当缓存中没有请求的内容时,就会发生缓存未命中。


缓存命中意味着内容将能够更快地加载,因为 CDN 可以立即将其交付给最终用户。 在缓存未命中的情况下,CDN 服务器会将请求传递给源服务器,然后在源服务器响应后缓存内容,以便后续请求将导致缓存命中。


Where are CDN caching servers located?

CDN 缓存服务器位于全球各地的数据中心。 CDN 在遍布全球的 200 个城市拥有 CDN 服务器,以便尽可能靠近访问内容的最终用户。 CDN 服务器所在的位置也称为数据中心。


How long does cached data remain in a CDN server?

当网站用请求的内容响应 CDN 服务器时,它们也会附加内容的 TTL,让服务器知道将其存储多长时间。 TTL 存储在称为 HTTP 标头的响应的一部分中,它指定内容将被缓存的秒数、分钟数或小时数。 当 TTL 到期时,缓存会删除内容。 如果有一段时间没有请求内容,或者如果 CDN 客户手动清除某些内容,一些 CDN 也会提前从缓存中清除文件。


How do other kinds of caching work?

DNS 缓存发生在 DNS 服务器上。 服务器将最近的 DNS 查找存储在它们的缓存中,这样它们就不必查询名称服务器,并且可以立即回复域的 IP 地址。


搜索引擎可能会缓存经常出现在搜索结果中的网页,以便回答用户查询,即使他们尝试访问的网站暂时关闭或无法响应。


内容交付网络 (CDN) 是指一组地理分布的服务器,它们协同工作以提供 Internet 内容的快速交付。


CDN 允许快速传输加载 Internet 内容所需的资产,包括 HTML 页面、javascript 文件、样式表、图像和视频。 CDN 服务的受欢迎程度持续增长,如今大部分 Web 流量都通过 CDN 提供服务,包括来自 Facebook、Netflix 和 Amazon 等主要网站的流量。


正确配置的 CDN 还可以帮助保护网站免受一些常见的恶意攻击,例如分布式拒绝服务 (DDOS) 攻击。


Is a CDN the same as a web host?

虽然 CDN 不托管内容,也不能替代适当的网络托管,但它确实有助于在网络边缘缓存内容,从而提高网站性能。 许多网站难以通过传统托管服务满足其性能需求,这就是他们选择 CDN 的原因。


通过利用缓存来减少托管带宽,帮助防止服务中断并提高安全性,CDN 是缓解传统网络托管带来的一些主要痛点的流行选择。


使用 CDN 的优势

尽管使用 CDN 的好处因互联网资产的大小和需求而异,但对大多数用户而言,主要好处可以分为 4 个不同的组成部分:


(1) 缩短网站加载时间


通过使用附近的 CDN 服务器(以及其他优化)将内容分发到离网站访问者更近的地方,访问者体验更快的页面加载时间。由于访问者更倾向于点击远离加载缓慢的站点,CDN 可以降低跳出率并增加人们在站点上花费的时间。换句话说,更快的网站意味着更多的访问者将停留并停留更长时间。


(2) 降低带宽成本


网站托管的带宽消耗成本是网站的主要支出。通过缓存和其他优化,CDN 能够减少源服务器必须提供的数据量,从而降低网站所有者的托管成本。


(3) 提高内容可用性和冗余度


大量流量或硬件故障可能会中断正常的网站功能。由于其分布式特性,CDN 可以处理更多流量并比许多源服务器更好地承受硬件故障。

提高网站安全性 - CDN 可以通过提供 DDoS 缓解、安全证书改进和其他优化来提高安全性。


CDN 的工作原理

CDN 的核心是连接在一起的服务器网络,其目标是尽可能快速、廉价、可靠和安全地交付内容。 为了提高速度和连接性,CDN 会将服务器放置在不同网络之间的交换点。


这些 Internet 交换点 (IXP) 是不同 Internet 提供商连接的主要位置,以便相互访问源自其不同网络的流量。 通过连接到这些高速且高度互连的位置,CDN 提供商能够降低高速数据传输的成本和传输时间。

image.png



除了在 IXP 中放置服务器之外,CDN 还对标准客户端/服务器数据传输进行了许多优化。 CDN 将数据中心放置在全球的战略位置,增强了安全性,旨在抵御各种类型的故障和互联网拥塞。


CDN 如何改善网站的加载时间?

当涉及到网站加载内容时,用户会随着网站速度变慢而迅速流失。 CDN 服务可以通过以下方式帮助减少加载时间:


CDN 的全球分布特性意味着减少用户和网站资源之间的距离。 CDN 无需连接到网站源服务器所在的任何地方,而是让用户连接到地理位置更近的数据中心。 更少的旅行时间意味着更快的服务。


硬件和软件优化,例如高效的负载平衡和固态硬盘驱动器,可以帮助数据更快地到达用户手中。


CDN 可以通过使用缩小和文件压缩等策略减少文件大小来减少传输的数据量。较小的文件大小意味着更快的加载时间。


CDN 还可以通过优化连接重用和启用 TLS 错误启动来加速使用 TLS/SSL 证书的站点。


Reliability and Redundancy - How does a CDN keep a website always online?

正常运行时间是任何拥有 Internet 资产的人的关键组成部分。由于恶意攻击或只是流行度增加,硬件故障和流量高峰有可能导致 Web 服务器瘫痪并阻止用户访问站点或服务。


一个全面的 CDN 有几个功能可以最大限度地减少停机时间:


负载平衡将网络流量均匀地分布在多台服务器上,从而更容易扩展流量的快速增长。


即使一台或多台CDN服务器因硬件故障下线,智能故障转移也能提供不间断服务; 故障转移可以将流量重新分配到其他操作服务器。


如果整个数据中心出现技术问题,任播路由会将流量转移到另一个可用的数据中心,确保没有用户无法访问网站。



相关实践学习
Serverless极速搭建Hexo博客
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
20天前
|
Ubuntu 网络安全 图形学
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
在Ubuntu 20.04系统中解决网络图标消失和无法连接有线网络问题的方法,其中第三种方法通过检查并确保Windows防火墙中相关服务开启后成功恢复了网络连接。
170 0
Ubuntu学习笔记(二):ubuntu20.04解决右上角网络图标激活失败或者消失,无法连接有线问题。
|
5月前
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
77 5
|
20天前
|
机器学习/深度学习 Python
深度学习笔记(九):神经网络剪枝(Neural Network Pruning)详细介绍
神经网络剪枝是一种通过移除不重要的权重来减小模型大小并提高效率的技术,同时尽量保持模型性能。
40 0
深度学习笔记(九):神经网络剪枝(Neural Network Pruning)详细介绍
|
18天前
|
机器学习/深度学习 数据可视化 Linux
Seaborn可视化学习笔记(一):可视化神经网络权重分布情况
这篇文章是关于如何使用Seaborn库来可视化神经网络权重分布的教程,包括函数信息、测试代码和实际应用示例。
25 0
|
3月前
|
机器学习/深度学习 自然语言处理 并行计算
【深度学习+面经】Transformer 网络学习笔记
Transformer模型的核心概念、优缺点以及在多个领域的应用,并提供了针对Transformer架构的面试问题及答案。
140 2
|
3月前
|
存储 Linux 网络安全
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
【Azure 存储服务】如何把开启NFS 3.0协议的Azure Blob挂载在Linux VM中呢?(NFS: Network File System 网络文件系统)
|
5月前
|
Docker 容器
docker network inspect 查询出来的网络的创建命令是什么
【6月更文挑战第17天】docker network inspect 查询出来的网络的创建命令是什么
65 1
|
5月前
|
监控 网络协议 Ubuntu
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
Linux网络配置全攻略:解读/etc/network/interfaces文件的精髓
912 1
|
6月前
|
存储 网络协议 Linux
NFS(Network File System 网络文件服务)
NFS(Network File System 网络文件服务)
|
5月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进】MSFN(Multi-Scale Feed-Forward Network):多尺度前馈网络
**HCANet: 高光谱图像去噪新方法**\n混合卷积与注意力网络(Hybrid Convolutional and Attention Network)是针对HSI去噪的创新模型,结合CNN和Transformer,强化全局与局部特征。它使用卷积注意力融合模块捕获长距离依赖和局部光谱相关性,多尺度前馈网络提升多尺度信息聚合。代码可在[GitHub](https://github.com/summitgao/HCANet)获取。