一、沒有 CDN
當用戶訪問一個網站時,如果沒有 CDN,dns解析過程是這樣的:
1.瀏覽器要將域名解析為 IP 地址(也就是瀏覽器緩存、系統緩存、路由器緩存都沒有的情況),所以先向本地 DNS 發出請求。
2.本地 DNS 依次向根服務器、頂級域名服務器、二級域名服務器、三級域名服務器發出請求,得到網站服務器的 IP 地址。
3.本地 DNS 將 IP 地址發回給瀏覽器,瀏覽器向網站服務器 IP 地址發出請求並得到資源。
二、有CDN
如果用戶訪問的網站部署了 CDN,過程是這樣的:
1.瀏覽器要將域名解析為 IP 地址,所以先向本地 DNS 發出請求。
2.本地 DNS 依次向根服務器、頂級域名服務器、二級域名服務器、三級域名服務器發出請求,得到全局負載均衡系統(GSLB)的 IP 地址。
3.本地 DNS 再向 GSLB 發出請求,GSLB 可以根據本地 DNS 的 IP 地址判斷用戶的位置,篩選出距離用戶較近的本地負載均衡系統(SLB),並將該 SLB 的 IP 地址作為結果返回給本地 DNS。
4.本地 DNS 將 SLB 的 IP 地址發回給瀏覽器,瀏覽器向 SLB 發出請求。
5.SLB 根據瀏覽器請求的資源和地址,選出最優的緩存服務器發回給瀏覽器。
6.瀏覽器再重定向到緩存服務器。
7.如果緩存服務器有瀏覽器需要的資源,就將資源發回給瀏覽器。
8.如果沒有,就向源服務器請求資源,再發給瀏覽器並緩存在本地。