CDN全稱是Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò),它能夠?qū)崟r(shí)地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點(diǎn)的連接、負(fù)載狀況以及到用戶的距離和響應(yīng)時(shí)間等綜合信息將用戶的請求重新導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上。其目的是使用戶可就近取得所需內(nèi)容,解決 Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應(yīng)速度。
使用DNS預(yù)解析
當(dāng)瀏覽器訪問一個域名的時(shí)候,需要解析一次DNS,獲得對應(yīng)域名的ip地址。在解析過程中,按照瀏覽器緩存、系統(tǒng)緩存、路由器緩存、ISP(運(yùn)營商)DNS緩存、根域名服務(wù)器、頂及域名服務(wù)器、主域名服務(wù)器的順序,逐步讀取緩存,直到拿到IP地址
DNS Prefetch,即DNS預(yù)解析就是根據(jù)瀏覽器定義的規(guī)則,提前解析之后可能會用到的域名,使解析結(jié)果緩存到系統(tǒng)緩存中,縮短DNS解析時(shí)間,來提高網(wǎng)站的訪問速度。
方法是在 head 標(biāo)簽里面寫上幾個 link 標(biāo)簽,比如:
對以上幾個網(wǎng)站提前解析 DNS,由于它是并行的,不會堵塞頁面渲染,這樣可以縮短資源加載的時(shí)間;
并行連接
由于在HTTP1.1協(xié)議下,chrome每個域名的醉大并發(fā)數(shù)是6個。使用多個域名,可以增加并發(fā)數(shù);
持久連接
使用keep-alive或presistent來建立持久連接,持久連接降低了時(shí)延和連接建立的開銷,將連接保持在已調(diào)諧狀態(tài),而且減少了打開連接的潛在數(shù)量;
管道化連接
在HTTP2協(xié)議中,可以開啟管道化連接,即單條連接的多路復(fù)用,每條連接中并發(fā)傳輸多個資源,這里就不需要添加域名來增加并發(fā)數(shù)了。