日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

前端为什么非要动静分离 说一下CDN托管的意义

發(fā)布時間:2023/12/2 HTML 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前端为什么非要动静分离 说一下CDN托管的意义 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

大型Web應(yīng)用對速度的追求并沒有止步于僅僅利用瀏覽器緩存,因為瀏覽器緩存始終只是為了提升二次訪問的速度,對于首次訪問的加速,我們需要從網(wǎng)絡(luò)層面進行優(yōu)化,最常見的手段就是CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))加速。通過將靜態(tài)資源緩存到離用戶很近的相同網(wǎng)絡(luò)運營商的CDN節(jié)點上,不但能提升用戶的訪問速度,還能節(jié)省服務(wù)器的帶寬消耗,降低負(fù)載。

遍布全國的CDN節(jié)點和內(nèi)容源示意圖

  不同地區(qū)的用戶會訪問到離自己最近的相同網(wǎng)絡(luò)線路上的CDN節(jié)點,當(dāng)請求達(dá)到CDN節(jié)點后,節(jié)點會判斷自己的內(nèi)容緩存是否有效,如果有效,則立即響應(yīng)緩存內(nèi)容給用戶,從而加快響應(yīng)速度。如果CDN節(jié)點的緩存失效,它會根據(jù)服務(wù)配置去我們的內(nèi)容源服務(wù)器獲取最新的資源響應(yīng)給用戶,并將內(nèi)容緩存下來以便響應(yīng)給后續(xù)訪問的用戶。因此,一個地區(qū)內(nèi)只要有一個用戶先加載資源,在CDN中建立了緩存,該地區(qū)的其他后續(xù)用戶都能因此而受益。

使用CDN緩存技術(shù)加速網(wǎng)絡(luò)訪問速度

  如上圖所示,之所以不同地區(qū)的用戶訪問同一個域名卻能得到不同CDN節(jié)點的IP地址,這要依賴于CDN服務(wù)商提供的智能域名解析服務(wù),瀏覽器發(fā)起域名查詢時,這種智能DNS服務(wù)會根據(jù)用戶IP計算并返回離它最近的同網(wǎng)絡(luò)CDN節(jié)點IP,引導(dǎo)瀏覽器與此節(jié)點建立連接以獲取資源。

  結(jié)合上述兩點,為了使用CDN網(wǎng)絡(luò)緩存,我們至少要對靜態(tài)資源的部署做兩項改變:

    1、將靜態(tài)資源部署到不同網(wǎng)絡(luò)線路的服務(wù)器中,以加速對應(yīng)網(wǎng)絡(luò)中CDN節(jié)點無緩存時溯源的速度。

    2、加載靜態(tài)資源時使用與頁面不同的域名,一方面是便于接入為CDN而設(shè)置的智能DNS解析服務(wù),另一方面因為靜態(tài)資源和主頁面不同域,這樣加載資源的HTTP請求就不會帶上主頁面中的Cookie等數(shù)據(jù),較少了數(shù)據(jù)傳輸量,又進一步加快網(wǎng)絡(luò)訪問。

  CDN服務(wù)基本上已經(jīng)成為現(xiàn)代大型Web應(yīng)用的標(biāo)配,這項技術(shù)“幾乎”是一種對開發(fā)透明的網(wǎng)絡(luò)性能優(yōu)化手段,使用它的理由很充分,但是這里既然強調(diào)了“幾乎透明”而不是“完全透明”,是因為使用CDN服務(wù)所需要的兩項改變對前端工程產(chǎn)生了一定的影響,而這些影響我在之前的文章中已經(jīng)介紹了,就是前端工程必須引入非覆蓋式發(fā)布的根本原因。

  
  前端工程多米諾骨牌

  上圖向大家展示了整個前端靜態(tài)資源緩存技術(shù)所帶來的連鎖性工程問題。很多人不理解為什么要選擇FIS,而不是grunt,從本質(zhì)上來說,工具并么有什么差異,只是fis的設(shè)計出發(fā)點是以上這些工程問題,設(shè)計中優(yōu)先考慮了現(xiàn)代互聯(lián)網(wǎng)應(yīng)用是如何進行工程化部署與開發(fā)的,面臨的問題是哪些,基于這些問題,要怎么解決。

  比如我們在上圖中可以看到,整個靜態(tài)資源緩存技術(shù)的最終影響的節(jié)點是前端靜態(tài)資源定位問題,而且前端資源定位又會進一步影響到開發(fā),包括代碼中的模塊化加載、各種資源加載等。所以fis的設(shè)計核心之一就是資源定位。比如fis的核心配置roadmap,其目的就是為了解決在前端代碼中的所有資源定位問題,連接開發(fā)和部署規(guī)范:

  

  此外,fis的靜態(tài)資源表生成功能也是為了給模塊化框架提供加載部署到其他域名下的路徑中md5戳的資源部署路徑,并建立資源之間的依賴關(guān)系。

至于文件壓縮之類的功能,那只是工具問題,而非工程問題。

?

原文地址:https://div.io/topic/930

總結(jié)

以上是生活随笔為你收集整理的前端为什么非要动静分离 说一下CDN托管的意义的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。