傳統的網絡訪問形式爲:segmentfault
由上圖可見,用戶訪問未使用CDN緩存網站的過程爲:瀏覽器
- 用戶向瀏覽器提供要訪問的域名;
- 瀏覽器調用域名解析函數庫對域名進行解析,以獲得此域名對應的IP地址;
- 瀏覽器使用所獲得的IP地址,域名的服務主機發出數據訪問請求;
- 瀏覽器根據域名主機返回的數據顯示網頁的內容。
經過以上四個步驟,瀏覽器完成從用戶處接收用戶要訪問的域名到從域名服務主機處獲取數據的整個過程。CDN網絡是在用戶和服務器之間增長Cache層,如何將用戶的請求引導到Cache上得到源服務器的數據,主要是經過接管DNS實現,下面讓咱們看看訪問使用CDN緩存後的網站的過程:緩存
CDN客戶使用CDN的方法:
對於CDN客戶來講,不須要改動網站架構,只須要修改本身的DNS解析,設置一個CNAME指向CDN服務商便可。原理在下面會解釋服務器
經過上圖,咱們能夠了解到,使用了CDN緩存後的網站的訪問過程變爲:網絡
- 用戶向瀏覽器提供要訪問的域名;
- 瀏覽器調用域名解析庫對域名進行解析,因爲CDN對域名解析過程進行了調整,因此解析函數庫獲得的是該域名對應的CNAME記錄(因爲如今已是使用了CDN服務,CNAME爲CDN服務商域名),爲了獲得實際IP地址,瀏覽器須要再次對得到的CNAME域名進行解析以獲得實際的IP地址;在此過程當中,使用的全局負載均衡DNS解析,如根據地理位置信息解析對應的IP地址,使得用戶能就近訪問。(CDN服務來提供最近的機器)
- 這次解析獲得CDN緩存服務器的IP地址,瀏覽器在獲得實際的IP地址之後,向緩存服務器發出訪問請求;
- 緩存服務器根據瀏覽器提供的要訪問的域名,經過Cache內部專用DNS解析獲得此域名的實際IP地址,再由緩存服務器向此實際IP地址提交訪問請求;
- 緩存服務器從實際IP地址得獲得內容之後,一方面在本地進行保存,以備之後使用,二方面把獲取的數據返回給客戶端,完成數據服務過程;
- 客戶端獲得由緩存服務器返回的數據之後顯示出來並完成整個瀏覽的數據請求過程。
概念解析:架構
CNAME(Canonical Name)指別名記錄也被稱爲規範名字,CNAME能夠理解爲對域名設置別名。好比一個域名www.domain.com,設置一個CNAME指向它,因爲www.domain.com與一個ip進行綁定,若是設置多個CNAME指向它,之後修改CNAME指向的服務器時,只須要修改一個www.domain.com對應的ip便可。詳細能夠參考dns一些名詞解釋,負載均衡