http://www.javashuo.com/article/p-wjauaafa-cx.htmlsegmentfault
啓用CDN緩存後瀏覽器訪問的全過程:瀏覽器
1.用戶輸入URL,瀏覽器將解析事後的域名發給DNS服務器緩存
2.CDN返回該域名對應的CNAME,此時瀏覽器須要再次對得到的CNAME進行解析,才能獲得CDN緩存服務器的IP地址。在此過程當中全局負載均衡DNS解析服務器會將用戶的訪問請求定位到離用戶最近、負載最輕的CDN緩存服務器上。這種技術也被稱爲「DNS重定向」,DNS服務器不是爲每一個請求返回相同的IP地址,好比在悉尼的一個客戶請求解析www.cdn.com,DNS服務器根據地理位置,計算出距離這個用戶最近的CDN服務器,因而返回一個悉尼CDN節點的IP地址。這種方法也不必定是最優的,由於地理位置上最近的兩個點,延遲可能反而很高。還有一種方法是經過估計節點間的樣本延遲,具體原理我也不瞭解。服務器
3.再次解析後,瀏覽器獲得CDN緩存服務器的實際IP地址,向緩存服務器發起請求。負載均衡
4.緩存服務器根據瀏覽器提供的域名,經過內部DNS解析獲得此域名源服務器的真實IP地址,再由緩存服務器向該服務器發起訪問請求。cdn
5.緩存服務器拿到數據後,一方面將數據發回瀏覽器,另外一方面進行本地保存,以備後用。以後再次訪問,數據將從CDN緩存服務器中被返回。CDN不會永久保存數據,能夠設置CDN的刷新頻率,來達到數據的更新。get
6.瀏覽器獲得由緩存服務器發回的數據,並將其顯示出來。至此,完成整個域名訪問的過程。域名