CDN(Content Delivery Network,內容分發網絡)是構建在現有互聯網基礎之上的一層智能虛擬網絡,通過在網絡各處部署節點服務器,實現將源站內容分發至所有CDN節點,使用戶可以就近獲得所需的內容。CDN服務縮短了用戶查看內容的訪問延遲,提高了用戶訪問網站的響應速度與網站的可用性,解決了網絡帶寬小、用戶訪問量大、網點分布不均等問題。
CDN加速原理
當用戶訪問使用CDN服務的網站時,本地DNS服務器通過CNAME方式將最終域名請求重定向到CDN服務。CDN通過一組預先定義好的策略(如內容類型、地理區域、網絡負載狀況等),將當時能夠最快響應用戶的CDN節點IP地址提供給用戶,使用戶可以以最快的速度獲得網站內容。使用CDN后的HTTP請求處理流程如下:
CDN節點有緩存場景
HTTP請求流程說明:
1、用戶在瀏覽器輸入要訪問的網站域名,向本地DNS發起域名解析請求。
2、域名解析的請求被發往網站授權DNS服務器。
3、網站DNS服務器解析發現域名已經CNAME到了www.example.com.c.cdnhwc1.com。
4、請求被指向CDN服務。
5、CDN對域名進行智能解析,將響應速度最快的CDN節點IP地址返回給本地DNS。
6、用戶獲取響應速度最快的CDN節點IP地址。
7、瀏覽器在得到速度最快節點的IP地址以后,向CDN節點發出訪問請求。
8、CDN節點將用戶所需資源返回給用戶。
CDN節點無緩存場景
HTTP請求流程說明:
1、用戶在瀏覽器輸入要訪問的網站域名,向本地DNS發起域名解析請求。
2、域名解析的請求被發往網站授權DNS服務器。
3、網站DNS服務器解析發現域名已經CNAME到了www.example.com.c.cdnhwc1.com。
4、請求被指向CDN服務。
5、CDN對域名進行智能解析,將響應速度最快的CDN節點IP地址返回給本地DNS。
6、用戶獲取響應速度最快的CDN節點IP地址。
7、瀏覽器在得到速度最快節點的IP地址以后,向CDN節點發出訪問請求。
8、CDN節點回源站拉取用戶所需資源。
9、將回源拉取的資源緩存至節點。
10、將用戶所需資源返回給用戶。