阿里cdn请求原理以及缓存机制
前提:假设CDN节点中没有客户访问的资源
1. 客户访问某个网站。
2. 客户向本地运营商DNS发出解析请求。
3. 运营商DNS服务器将最终的解析权交给CNAME指向的CDN授权DNS服务器。
4. CDN授权DNS服务器通过来源Ip知道了是哪个运营商的解析请求然后在运算某种算法返回给用户最近的CDN---L1节点IP地址。
5. 客户访问CDN的L1节点,L1节点没有缓存则向L2节点请求获取数据。
6. L2节点没有数据则回源获取数据。
L1、L2节点缓存源站返回的内容,由L1节点返回给用户数据。
CDN缓存作用
1.缓存代理
缓存代理类似内容提供商源数据中心的一个透明镜像,这些内容可以在边缘服务器中缓存
和分发,对于普通的网络用户来讲,它通过智能DNS的筛选,用户的请求被透明地指向离他
最近的省内骨干节点。
最大限度的缩短用户信息的传输距离,在任何时间、地点或者不同的运营商之间(尤其在中
国),快速响应用户请求。
1. 源站设置缓存规则:
不缓存规则优先级最高。
源站和CDN控制台都设置了缓存时间则控制台规则生效。
CDN没有设置缓存规则则遵循源站缓存规则。
2. 源站没有设置缓存规则:
源站没有设置缓存时间则遵循控制台缓存规则。
源站和控制台都没有设置缓存规则,则根据默认规则设置缓存时间
注:默认时间(秒)=(当前时间-内容最后变更时间)*0.1
缓存类型
1. CDN不能对php、jsp、do、dwr、asp、jso等动态文件缓存
2. CDN可以对jpg、gif、png、flash、js、css、apk、html、*.m3u8;*.ts等文件缓存