很多小伙伴在學(xué)習(xí)vue或者element-UI的時(shí)候會(huì)接觸到這樣一個(gè)名詞——cdn,沒(méi)聽(tīng)過(guò)的小伙伴不免感到好奇。今天小編就來(lái)講解,cdn服務(wù)器是什么?為什么要使用它?
介紹
CDN,英文全稱為Content Delivery Network,也就是內(nèi)容分發(fā)網(wǎng)絡(luò)(或者內(nèi)容傳送網(wǎng)絡(luò)),這是一種用來(lái)改善互聯(lián)網(wǎng)質(zhì)量的技術(shù)。它的原理圖主要如下:
互聯(lián)網(wǎng)相應(yīng)知識(shí)
首先我們先談一下互聯(lián)網(wǎng)結(jié)構(gòu)。如上圖所示,互聯(lián)網(wǎng)其實(shí)是由一堆的路由器連接而成。像公司或者學(xué)校那樣,一整個(gè)區(qū)域的計(jì)算機(jī)通過(guò)路由器以樹(shù)形結(jié)構(gòu)連接在一起,就構(gòu)成了一個(gè)一個(gè)的局域網(wǎng)。同城的局域網(wǎng)之間通過(guò)路由器連接,就構(gòu)成了城域網(wǎng)(城際網(wǎng)絡(luò))。城與城之間通過(guò)路由器連接,就構(gòu)成了廣域網(wǎng)(也就是互聯(lián)網(wǎng),大到國(guó)與國(guó)之間的連接,小到城市與城市的連接,通常城市與城市先連接構(gòu)成一個(gè)國(guó)家的廣域網(wǎng)再與其他國(guó)家進(jìn)行相連)。城域網(wǎng)之間以互聯(lián)網(wǎng)干道進(jìn)行相連。
問(wèn)題的產(chǎn)生
那么,我們?cè)L問(wèn)一個(gè)位于其他城域網(wǎng)的服務(wù)器,就要經(jīng)過(guò)如上圖紅色線所示的路線。但是,干道的總帶寬是有限的,如果一個(gè)網(wǎng)頁(yè)需要的全部文件都通過(guò)干道進(jìn)行傳輸,那么干道就會(huì)變得擁堵,所以時(shí)常會(huì)導(dǎo)致響應(yīng)很慢甚至丟包的情況。這時(shí)候開(kāi)發(fā)者對(duì)于線路的優(yōu)化是無(wú)能為力的,他們只能通過(guò)對(duì)項(xiàng)目的優(yōu)化來(lái)使用戶的體驗(yàn)更好一些,于是專門(mén)的cdn公司在1999年誕生了(cdn這個(gè)概念在1986年被提出)。
cdn如何解決問(wèn)題
cdn解決問(wèn)題的方式也很簡(jiǎn)單,既然主干道擁擠,那么就將服務(wù)器部署在城際網(wǎng),這樣用戶在跨城請(qǐng)求的時(shí)候就能將需要傳輸?shù)臄?shù)據(jù)降到比較小的情況(但是不能把全部的東西都放在城際網(wǎng)的服務(wù)器上,一般是放一些靜態(tài)資源,比如靜態(tài)HTML和圖片)。這樣子用戶需要訪問(wèn)遠(yuǎn)程服務(wù)器拿取數(shù)據(jù)的時(shí)候,服務(wù)器會(huì)就近選擇一個(gè)合適的cdn讓其將靜態(tài)內(nèi)容返回給用戶,然后遠(yuǎn)端服務(wù)器只需要返回主要數(shù)據(jù)即可。這樣做不僅大大減少了主干道的帶寬占用,也降低了服務(wù)器的壓力。
我們?nèi)绾问褂胏dn
我們只是一些學(xué)習(xí)人員,并沒(méi)有向企業(yè)那樣的財(cái)力去部署很多cdn,但是我們也可以使用這些cdn(上面說(shuō)了,有專門(mén)的公司在做cdn)。比如我們使用element-UI或者vue.js這種文件的時(shí)候,完全可以到百度上搜索對(duì)應(yīng)的cdn并拿來(lái)使用。
小結(jié)
以上就是“使用cdn有什么好處”的全部介紹。更多精彩好文,關(guān)注W3C技術(shù)頭條。