當用戶訪問使用CDN服務的網(wǎng)站時,本地DNS服務器通過CNAME方式將最終域名請求重定向到CDN服務。CDN通過一組預先定義好的策略(如內(nèi)容類型、地理區(qū)域、網(wǎng)絡負載狀況等),將當時能夠最快響應用戶的CDN節(jié)點IP地址提供給用戶,使用戶可以以最快的速度獲得網(wǎng)站內(nèi)容。使用CDN后的HTTP請求處理流程如下:
CDN節(jié)點有緩存場景
圖1 HTTP請求處理流程(節(jié)點有緩存場景)
HTTP請求流程說明:
用戶在瀏覽器輸入要訪問的網(wǎng)站域名,向本地DNS發(fā)起 域名解析 請求。
域名解析的請求被發(fā)往網(wǎng)站授權DNS服務器。
網(wǎng)站DNS服務器解析發(fā)現(xiàn)域名已經(jīng)CNAME到了www.example.com.c.cdnhwc1.com。
請求被指向CDN服務。
CDN對域名進行智能解析,將響應速度最快的CDN節(jié)點IP地址返回給本地DNS。
用戶獲取響應速度最快的CDN節(jié)點IP地址。
瀏覽器在得到速度最快節(jié)點的IP地址以后,向CDN節(jié)點發(fā)出訪問請求。
CDN節(jié)點將用戶所需資源返回給用戶。
CDN節(jié)點無緩存場景
圖2 HTTP請求處理流程(節(jié)點無緩存場景)
HTTP請求流程說明:
用戶在瀏覽器輸入要訪問的網(wǎng)站域名,向本地DNS發(fā)起域名解析請求。
域名解析的請求被發(fā)往網(wǎng)站授權DNS服務器。
網(wǎng)站DNS服務器解析發(fā)現(xiàn)域名已經(jīng)CNAME到了www.example.com.c.cdnhwc1.com。
請求被指向CDN服務。
CDN對域名進行智能解析,將響應速度最快的CDN節(jié)點IP地址返回給本地DNS。
用戶獲取響應速度最快的CDN節(jié)點IP地址。
瀏覽器在得到速度最快節(jié)點的IP地址以后,向CDN節(jié)點發(fā)出訪問請求。
CDN節(jié)點回源站拉取用戶所需資源。
將回源拉取的資源緩存至節(jié)點。
將用戶所需資源返回給用戶。