# CDN
CDN
指的是内容分发网络。
# 定义
当用户获取数据时,不需要直接从源站
获取,而是通过CDN
的内容分发,不仅可以减少源站
的负载压力,还可以以最短的路径
、最快的速度
响应用户。
# 特点
- 减少 “源服务器的负载”
- 减少 “用户访问耗时”
# 使用前、后的区别
未使用CDN
- 1、用户输入域名
- 2、DNS服务器解析该域名
- 3、DNS服务器返回域名的IP地址
- 4、浏览器向该IP发送请求
- 5、服务器响应用户请求
使用CDN
- 1、用户输入域名
- 2、DNS服务器
将解析权
交给CDN专用DNS服务器
- 3、
CDN专用DNS服务器
将会返回CDN负载均衡设备
的IP地址 - 4、浏览器向该IP发送请求
- 5、
CDN负载均衡设备
会为用户选择一台合适的缓存服务器
(根据距离、需求、负载情况),并返回缓存服务器
的IP - 6、浏览器向
缓存服务器
发出请求 - 7、缓存服务器响应用户请求
# 为什么资源要用多个CDN服务器
- 打破浏览器 “同一时刻在同一域名的请求数” 并发限制
- 节省“cookie所需的带宽”
- 节省“主域名连接数”
Chrome、IE、FireFox是 6 个;safari是 4 个
# 是不是越多越好?
不是。DNS解析 也需要时间;HTTPS证书 也加大复杂度(证书下发、校验等)。
# CDN缓存
如果接入了CDN,即使强制刷新,也 不会直接向源服务器请求资源,而是转向 CDN边缘节点 请求资源。
除非CDN边缘节点的缓存也过期了,CDN边缘节点才会向源服务器发请求,从而获取最新资源。
← HTTP缓存机制 跨域资源共享(CORS) →