跳至主要内容

CDN

什麼是 CDN?

CDN 是由遍佈全球的多個服務器組成的網絡。這些服務器存儲和分發網站內容,如圖像、視頻、HTML 頁面、JavaScript 文件和樣式表(CSS)。當用戶訪問一個使用 CDN 的網站時,網站的內容會從最近的 CDN 節點提供給用戶,而不是從原始伺服器(origin server)提供。

CDN 優點

優點功能
提高網站速度將內容分發到距離用戶最近的伺服器,縮短加載時間
減少伺服器負載將流量分散到多個邊緣伺服器,減輕原始伺服器壓力
增強用戶體驗快速加載網站,提高用戶滿意度和留存率
提升可靠性使用多個伺服器提供冗餘,確保網站高可用性
改善安全性提供 DDoS 防護、數據加密等額外的安全措施
全球覆蓋擁有全球分佈的邊緣伺服器,為各地用戶提供一致的服務
簡化內容管理自動同步和更新內容,減少手動管理的需求
優化資源分配通過智能路由和負載平衡技術,提高資源使用效率
縮短延遲減少數據傳輸的物理距離,降低網絡延遲
提供分析工具許多 CDN 提供商提供流量分析和監控工具,幫助優化性能

CDN 缺點

缺點說明
成本使用 CDN 服務需要額外的費用,特別是對於高流量網站。
複雜性集成和管理 CDN 可能需要技術專業知識和時間。
緩存問題如果緩存未能及時更新,用戶可能會看到過時的內容。
依賴第三方依賴 CDN 提供商的基礎設施和服務,服務中斷或問題可能會影響網站性能。
法規和合規性不同地區的數據隱私和合規要求可能會影響 CDN 的使用,特別是數據存儲位置。
安全風險雖然 CDN 增強了安全性,但如果配置不當,可能會引入新的安全漏洞。
性能波動在某些情況下,CDN 節點的性能可能會波動,影響用戶體驗。
原始伺服器依賴如果原始伺服器出現問題,CDN 無法從中獲取內容,可能會影響內容交付。
兼容性問題某些動態內容或特定應用程序可能難以通過 CDN 有效傳遞。
數據同步延遲在某些情況下,數據從原始伺服器同步到 CDN 節點可能存在延遲。

CDN 解析流程

  1. 用戶輸入網址:用戶在瀏覽器中輸入一個網站的網址例如:www.example.com

  2. DNS 查詢:瀏覽器首先需要將用戶輸入的域名轉換成 IP 地址。這涉及到 DNS(域名系統)查詢。過程如下:

    1. 瀏覽器向本地 DNS 服務器發出查詢請求,詢問 www.example.com 的 IP 地址。
    2. 如果本地 DNS 服務器沒有這個記錄,它會查詢更高層的 DNS 服務器,直到找到負責的 DNS 服務器。
    3. 對於使用 CDN 的網站,DNS 會回傳一個最近的 CDN 邊緣伺服器的 IP 地址,而不是原始伺服器的 IP 地址。
  3. 瀏覽器發送請求:瀏覽器使用獲取的 IP 地址向最近的 CDN 邊緣伺服器發送 HTTP 或 HTTPS 請求,請求的內容包括網站的特定資源(如 HTML 頁面、圖像、CSS 文件等)。

  4. CDN 邊緣伺服器處理請求 當最近的 CDN 邊緣伺服器收到請求後,會檢查自己是否已有請求的內容:

    • 緩存命中:如果該邊緣伺服器已經有這些內容,它會立即將內容回傳給用戶的瀏覽器。
    • 緩存未命中:如果該邊緣伺服器沒有請求的內容,它會向其他 CDN 邊緣伺服器或原始伺服器請求這些內容。獲取內容後,它會將內容存儲在本地緩存中,然後再發送給用戶的瀏覽器。
  5. 瀏覽器接收內容 瀏覽器接收到 CDN 邊緣伺服器回傳的內容後,開始解析和顯示網站。這包括呈現 HTML、加載和應用 CSS 樣式、執行 JavaScript 以及顯示圖像和視頻等資源。

  6. 後續請求優化 在用戶瀏覽網站的過程中,瀏覽器可能會發出更多的資源請求(例如,點擊鏈接加載新頁面)。這些請求同樣會被路由到最近的 CDN 邊緣伺服器,重複上述流程

參考資料