基礎知識
伺服器離使用者越近,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 載入完立即執行,和載入順序無關...