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