Web前端效能優化教程02 使用內容分發網路

2022-09-25 01:00:12 字數 1449 閱讀 6587

基礎知識

伺服器離使用者越近,http請求的響應時間將更短。

cname:別名記錄,當多個網域名稱需要指向同一伺服器ip,可以使用乙個網域名稱做a記錄指向該伺服器ip,然後讓多個網域名稱指向該a記錄。

icp:internet content providor。

dns:domain name system。

什麼是內容分發網路?

cdn(content deliver network)是一組分布在多個不同地理位置的web伺服器,通過將**的資源發布到最接近使用者的網路」邊緣「,供使用者就近取得所需內容。cdn可以看作一種快取**,主要用於對靜態資源(如,css,js等)的快取。

cdn的網路架構

cdn的網路架構主要分為中心和邊緣兩個部分,中心伺服器主要負責dns解析和全域性負載均衡;而邊緣伺服器指異地節點,作為cdn分發的載體,包括負載均衡和快取記憶體。邊緣伺服器的負載均衡負責快取內容的負載均衡,保證節點的工作效率,同時還負責與中心伺服器通訊,實現整個系統的負載均衡。邊緣伺服器的快取記憶體負責儲存從客戶源伺服器獲取的資源,並提供給本地使用者訪問。

cdn的工作原理

除了一些大型網際網路公司擁有自己的cdn,其他公司基本都會選擇cdn運營商合作。

所以作為icp,需要把網域名稱解釋權交給cdn運營商,操作時icp修改自己的網域名稱解析部分,一般用cname的方式,將自己的靜態資源網域名稱指向乙個cdn提供的cname。www.cppcns.com

而作為cdn運營商,需要對cname提供專用dns解析,同時需要維護客戶伺服器的網域名稱和ip位址對映列表。

cdn工作流程如下:

1.瀏覽器獲得需要訪問的資源的網域名稱;

2.www.cppcns.com通過網域名稱解析得到該網域名稱指向cdn的乙個cname;

3.為了獲得ip位址,需要對cname進行網域名稱解析,這時請求就會被傳送到cdn的中心伺服器,全域性負載均衡通過預先設定的規則,同時根據使用者訪問的地理位置資訊,把最合適的邊緣伺服器ip位址返回;

4.瀏覽器獲得ip位址後,就向邊緣伺服器發出請求;

5.邊緣伺服器根據訪問網域名稱,首先搜尋快取,檢視資源是否存在,存在則直接返回資源給瀏覽器,直接完成整個資源請求過程,否則就根據快取內部的dns解析得到資源實際ip位址(即客戶的伺服器ip位址),向該ip位址發起資源請求;

6.邊緣伺服器向客戶伺服器請求資源成功後,就把該資源加入本身www.cppcns.com的快取記憶體中,並把資源傳送給使用者。

cdn的簡單應用

其實cdn的使用並沒有和我們想象中那麼遙遠,jquery應該是當今web開發領域使用最為廣泛的js框架之一,很多時候我們的**都需要引用乙個jquery.min.js的引用,我們可以將這個js檔案儲存在自己的伺服器,或者更好的選擇:使用大公司的cdn服務提供的jquery.min.js. 微軟和google都提供了jquery的cdn免費服務,你只需做的事情就是在專案中引用它們,就能享受cdn帶來的便利。

bmjbwz

本文位址: /news/seo/76980.html

web前端效能優化

01 減少http請求 使用css sprite 合併js css02 使用cdn 當頁面中有很多資源的時候可以從不同伺服器中讀取 設定長的expires時間將直接減少http請求 如果資源設定了expires頭為將來的某個時間,下次訪問時候瀏覽器 發現資源還沒有過期,會直接從快取中讀取,不會再次產...

web前端效能優化

一 網路相關的一切,包括dns解析 http請求等等 二 web優化,就是前端頁面相關部分,也就是我們日常擼 能夠做到的一些 1 設定dns多級快取 瀏覽器快取,系統快取,路由器快取,ips伺服器快取,根網域名稱伺服器快取,頂級網域名稱伺服器快取,主網域名稱伺服器快取。2 dns負載均衡 dns重定...

前端web效能優化

使用cdn 進行dns預解析 每個請求都需建立連線消耗一定時間,請求數越多則網頁載入時長越長。我們可以將資源盡可能的合併從而減少請求 合併,使用sprites精靈圖 css 檔案合併 動態指令碼載入 defer html解析完成後才執行,按載入順序依次執行 async 載入完立即執行,和載入順序無關...