什麼是CDN快取?
Content Delivery Network
,即內容分發網絡,各地部署多套靜態儲存服務,本質上是空間換時間,自動選擇最近的節點內容,不存在再請求原始伺服器,適合儲存更新很少的靜態內容,檔案更新慢。
範例:
你,要喝水,每次都要去水房接水喝,你覺得很麻煩,所以你就選了水壺去裝水,這樣就不用每次都要去水房接水,就可以選擇最近的水壺來接水。
如何做?
盡可能避開網路上有可能影響資料傳輸速度和穩定性的瓶頸和環節,讓內容傳輸的更快、更穩定。
在網路各處放置節點伺服器所構成的在現有的互聯網基礎之上的一層智慧虛擬網路。
CDN系統能夠即時的根據網路流量和各節點的連接、負載狀況以及到用戶的距離和回應時間等綜合資訊將用戶的請求重新導向離用戶最近的服務節點上。
CDN優勢:
本地Cache加速,提高了企業網站(尤其h含有大量圖片和靜態頁面網站)的存取速度、跨運營商的網路加速,確保不同網路的使用者都得到良好的存取品質。
遠端存取使用者根據DNS負載平衡技術智慧自動選擇Cache伺服器。
自動產生伺服器的遠端Mirror(鏡像)cache伺服器,遠端使用者存取時從cache伺服器上讀取數據,減少遠端存取的頻寬、分擔網路流量、減輕原站點web伺服器負載等功能。
廣泛分佈的CDN節點加上節點之間的智慧冗餘機制,可以有效地預防駭客入侵。
工作原理:
傳統存取:使用者在瀏覽器輸入網域名稱發送請求->解析網域名稱取得伺服器IP位址->根據IP位址找到對應的伺服器->伺服器回應並傳回資料。
使用CDN存取:用戶發送請求->智慧DNS的解析(根據IP判斷地理位置、存取網類型、選擇路由最短和負載最輕的伺服器)-> ;取得快取伺服器IP->把內容回傳給使用者(如果快取中有)->向來源站發起請求->將結果回傳給使用者->將結果存入快取伺服器。
適用場景:
1、網站或應用程式中大量靜態資源的加速分發,例如:CSS,JS,圖片和HTML;
2、大檔案下載;
3、直播網站等;
CDN實作
1、BAT、阿里雲、騰訊雲等都有提供CDN服務
2、可用LVS做4層負載平衡
3、可用Nginx,Varnish,Squid,Apache TrafficServer做7層負載平衡和cache
4、適用squid反向代理,或Nginx等的反向代理
推薦影片教學:PHP影片教學
以上是php頁面可以cdn嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!