更新時間:2022-11-07 來源:黑馬程序員 瀏覽量:
CDN:Content Delivery Network,即內容分發網絡,它是構建在現有網絡基礎上的虛擬智能網絡,依靠部署在各地的邊緣服務器,通過中心平臺的負載均衡、調度及內容分發等功能模塊,使用戶在請求所需訪問的內容時能夠就近獲取,以此來降低網絡擁塞,提高資源對用戶的響應速度。
本地存儲和瀏覽器緩存帶來的性能提升主要針對的是瀏覽器端已經緩存了所需的資源,當發生二次請求相同資源時便能夠進行快速響應,避免重新發起請求或重新下載全部響應資源。
這些方法對于首次資源請求的性能提升是無能為力的,若想提升首次請求資源的響應速度,除了資源壓縮、圖片優化等方式,還可借助CDN技術。
如果使用了CDN網絡,則資源獲取的大致過程是這樣的。
1、由于DNS服務器將對CDN的域名解析權交給了CNAME指向的專用DNS服務器,所以對用戶輸入域名的解析最終是在CDN專用的DNS服務器上完成的。
2、解析出的結果IP地址并非確定的CDN緩存服務器地址,而是CDN的負載均衡器的地址。
3、瀏覽器會重新向該負載均衡器發起請求,經過對用戶IP地址的距離、所請求資源內容的位置及各個服務器復雜狀況的綜合計算,返回給用戶確定的緩存服務器IP地址。
4、對目標緩存服務器請求所需資源的過程。
這個過程也可能會發生所需資源未找到的情況,那么此時便會依次向其上一級緩存服務器繼續請求查詢,直至追溯到網站的根服務器并將資源拉取到本地。
緩存與回源
緩存指的是將所需的靜態資源文件復制一份到CDN緩存服務器上;
回源指的是如果未在CDN緩存服務器上查找到目標資源,或CDN緩存服務器上的緩存資源已經過期,則重新追溯到網站根服務器獲取相關資源的過程。