HTTP 网络技术学习:CDN,为什么我们使用第三方服务的时候需要购买CDN呢?为什么网络速度会慢呢?

29 阅读4分钟

目录

  1. 问题
  2. 那么,为什么需要提升速度会慢呢?
  3. CDN做了什么
  4. CDN的购买

一、问题

我们在购买一些第三方服务的时候,比如七牛云的存储服务,会需要购买CDN加速,不知道这个究竟是什么。

在这里插入图片描述

CDN的全称是Content Delivery Network,即内容分发网络。通过在全球范围内部署多个服务器节点,将内容分发到用户最近的节点上,减少了传输延迟和网络拥塞,提高了访问速度。


二、那么,为什么需要提升速度会慢呢?

首先,我们必须认识到光速虽然在真空中接近每秒30万公里,但在实际应用的电缆或光缆中,这一速度会降至大约三分之二,即20万公里每秒。这意味着,随着地理距离的增加,数据传输的延迟也会变得愈发显著。

以北京到广州为例,两地间的直线距离约为2000公里。在这样的距离下,即使以光缆中的光速传输,发送一个请求的单程延迟也达到了10毫秒,往返则需20毫秒。这个时间虽然看似短暂,但在互联网通信的毫秒级世界里,它已经成为了一个不可忽视的“硬性”时延。

当我们将目光转向全球范围时,这种延迟问题会变得更加严重。地理距离的扩大、不同运营商网络之间的互通性问题,以及路由转发的复杂性,都会进一步增加数据传输的延迟。想象一下,如果你在北京,却需要访问位于旧金山的网站,那么数据就需要跨越半个地球,经过多个中间环节,每个环节都可能增加额外的时延。

因此,为了提升网站在全球范围内的访问速度,改善用户体验,我们需要借助CDN(内容分发网络)这样的技术。**CDN通过在全球各地部署服务器节点,将网站内容分发到用户最近的节点上,**从而显著减少了传输延迟,提高了访问速度。这样,无论用户身处何地,都能享受到快速、稳定的网站访问体验。


三、CDN做了什么

CDN 投入了大笔资金,在全球各地建立了许多服务器小站点,就像是给互联网世界建立了很多个“快递驿站”。这些“驿站”会把网站原来的内容(就像是包裹)提前存放好,等待用户的到来。 当我们上网时,不再直接跑去网站的原住址(源站)拿东西,而是就近找一个CDN的“驿站”。这个“驿站”其实就是存了网站内容的代理服务器,它离我们很近,所以拿东西(访问内容)就变得非常快,省去了长途奔波的时间。 简单来说,CDN就像是给网络内容做了一个“本地化的快递服务”,让我们能够更快地获取到想要的信息,实现了网络的“加速跑”。

那么,CDN 都能加速什么样的“内容”呢? 主要是静态资源。

所谓的“静态资源”是指比如图片、音频。所谓的“动态资源”是指数据内容是“动态变化”的,也就是由后台服务计算生成的,每次访问都不一样,比如商品的库存、微博的粉丝数等。 很显然,只有静态资源才能够被缓存加速、就近访问,而动态资源只能由源站实时生成,即使缓存了也没有意义。不过,如果动态资源指定了“Cache-Control”,允许缓存短暂的时间,那它在这段时间里也就变成了“静态资源”,可以被 CDN 缓存加速。 套用一句广告词来形容 CDN 吧,我觉得非常恰当:“我们不生产内容,我们只是内容的搬运工。”


四、CDN的购买

CDN的购买通常是基于使用量来计费的,流量通常以GB(Gigabyte,吉字节)或TB为单位进行计算。1TB等于1024GB。当网站的内容通过CDN进行分发时,每次用户访问都会产生一定的流量。这些流量会累加起来,并在计费周期结束时进行结算。 比如在七牛云,下一个资源40MB,那么就会消耗40MB。