# CDN

CDN指的是内容分发网络。

# 定义

当用户获取数据时,不需要直接从源站获取,而是通过CDN的内容分发,不仅可以减少源站负载压力,还可以以最短的路径最快的速度响应用户。

# 特点

  • 减少 “源服务器的负载”
  • 减少 “用户访问耗时”

# 使用前、后的区别

  • 未使用CDN

    • 1、用户输入域名
    • 2、DNS服务器解析该域名
    • 3、DNS服务器返回域名的IP地址
    • 4、浏览器向该IP发送请求
    • 5、服务器响应用户请求

    alt

  • 使用CDN

    • 1、用户输入域名
    • 2、DNS服务器将解析权交给CDN专用DNS服务器
    • 3、CDN专用DNS服务器将会返回CDN负载均衡设备的IP地址
    • 4、浏览器向该IP发送请求
    • 5、CDN负载均衡设备会为用户选择一台合适的缓存服务器(根据距离、需求、负载情况),并返回缓存服务器的IP
    • 6、浏览器向缓存服务器发出请求
    • 7、缓存服务器响应用户请求

    alt

# 为什么资源要用多个CDN服务器

  • 打破浏览器 “同一时刻在同一域名的请求数” 并发限制
  • 节省“cookie所需的带宽”
  • 节省“主域名连接数”

Chrome、IE、FireFox是 6 个;safari是 4 个

# 是不是越多越好?

不是。DNS解析 也需要时间;HTTPS证书 也加大复杂度(证书下发、校验等)。

# CDN缓存

如果接入了CDN,即使强制刷新,也 不会直接向源服务器请求资源,而是转向 CDN边缘节点 请求资源。

除非CDN边缘节点的缓存也过期了,CDN边缘节点才会向源服务器发请求,从而获取最新资源。

更新时间: 11/21/2021, 2:45:24 AM