通过浏览器访问网站的过程

没有使用CDN的情况

访问的过程如图所示:

1.用户在自己的浏览器输入要访问的网站域名。

2.浏览器向本地DNS服务器请求对应域名的解析

3.本地DNS服务器中如果缓存有此域名的解析结果,则直接向用户相应解析结果,如果没有缓存此域名的解析结果,则以递归的方式向整体DNS系统请求解析,获得结果后应答浏览器

4.浏览器得到域名解析的结果,就是该域名服务器的IP地址,浏览器向此IP发出请求

5.服务端响应请求,把相应的数据传给浏览器

使用CDN时的情况

  1. 当终端用户(北京)向www.a.com下的某资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。
  2. LDNS检查缓存中是否有www.a.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。
  3. 当授权DNS解析www.a.com时,返回域名CNAME www.a.tbcdn.com对应IP地址。
  4. 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址。
  5. LDNS获取DNS返回的解析IP地址。
  6. 用户获取解析IP地址。
  7. 用户向获取的IP地址发起对该资源的访问请求。
    • 如果该IP地址对应的节点已缓存该资源,则会将数据直接返回给用户,例如,图中步骤7和8,请求结束。
    • 如果该IP地址对应的节点未缓存该资源,则节点向源站发起对该资源的请求。获取资源后,结合用户自定义配置的缓存策略,将资源缓存至节点,例如,图中的北京节点,并返回给用户,请求结束。
原文地址:https://www.cnblogs.com/feng0919/p/13341987.html