什麼是 CDN? 內容交付網絡初學者指南
已發表: 2023-09-05什麼是CDN?
內容分發網絡 (CDN) 是網站管理員用來從全球服務器網絡提供內容並在其中分配流量以減輕網站源服務器壓力的方法。
在這篇文章中,我們將討論 CDN 是什麼、它的好處是什麼、誰使用這種類型的技術以及我們推薦的 CDN 提供商。
讓我們開始吧。
什麼是CDN?
CDN 是駐留在全球數據中心的服務器網絡,負責向世界各地的用戶交付網站內容。
當用戶訪問網頁時,他們的瀏覽器會下載該頁面的內容,即構成該頁面內容的 HTML、JavaScript、圖像和 CSS 樣式表。
如果沒有 CDN,瀏覽器必須從站點的源服務器(即安裝站點的 Web 服務器)下載 Web 內容。
例如,如果您使用 DigitalOcean 的紐約位置通過 Cloudways 創建了一個網站,並且您沒有 CDN,則所有訪問者都必須從位於紐約的原始服務器下載您網站的內容。
這是一個問題,原因有二:
- 將所有流量路由到源服務器會給該服務器帶來很大壓力,這可能會導致性能不佳,並可能因流量激增和 DDoS 攻擊而導致服務器崩潰。
- 如果您的源服務器位於北美,但您有來自其他大陸的訪問者,您將無法為他們提供與北美訪問者相同的快速體驗。 這將導致您網站上的跳出率更高。
CDN 如何運作?
讓我們使用此圖來了解 CDN 的工作原理:
一切都從原始服務器開始,這是安裝網站原始副本的地方。
在圖中,源服務器用紅色圖釘表示,表示其位置位於美國中西部地區。
該圖具有位於世界其他地區的其他服務器圖標。
每台服務器(稱為邊緣服務器)都包含網站內容的緩存副本。 同樣,這是構成網頁內容的 HTML、JavaScript 和 CSS。
當圖中用黃色框表示的用戶訪問您的網站時,他們會被路由到最近的邊緣服務器,在那裡他們可以以更快的速度下載您的內容,希望接近瞬時的速度。
簡而言之,這就是 CDN 的工作原理。 它本質上是一個提高頁面性能的流量分配系統。 讓我們談談為什麼這是有益的。
為什麼應該使用 CDN?
所有網站所有者都應該使用 CDN。 它應該像在網頁上啟用 SSL 一樣常見。
CDN 通過以下方式使您的網站受益:
- 提高網站性能。
- 在流量高峰期間實施負載平衡。
- 保護您的網站免受 DDoS 攻擊。
- 為電子商務網站提供更好的穩定性。
- 減少帶寬消耗。
- 改善全球用戶體驗。
讓我們來看看每一個好處。
1. 性能提升
當用戶第一次訪問您的網站時,您希望給他們留下良好的印象。 這通常始於用戶加載您網站的能力。
對於您所定位的關鍵字,您是否有寫得最好的文章並不重要。 如果您的頁面速度不快,訪問者就不會停留足夠長的時間來閱讀它。
CDN 可幫助所有用戶(尤其是國際訪問者)盡快加載您的網站。 正如我們之前所說,它是通過讓用戶從距離他們嘗試加載網站的地理位置最近的邊緣服務器下載網頁的副本來實現這一點的。
2. 流量高峰時的負載均衡
事情是這樣的。 您的網站有一個主要目的:為您的目標市場提供一個可用於與您的品牌互動的數字空間。
因此,您希望訪問者訪問您的網站。 畢竟,您收到的訪問次數越多,轉化的機會就越多。
不幸的是,有時您的品牌可能會受到太多關注,從而導致網絡流量超出您的服務器所習慣的流量。
如果流量峰值大於服務器可以處理的流量,則可能會導致崩潰,從而導致所有用戶的網站脫機。
雲託管可以很好地解決這種困境,因為這種類型的託管技術提供緩存服務器,並且可以在必要時通過利用更多資源進行擴展。
然而,CDN 是讓您的網站為流量高峰做好準備的另一種好方法。 它通過減輕源服務器的壓力並將大量流量路由到多個服務器來實現負載平衡。
這是負載平衡的直觀表示:
3. 防禦DDoS攻擊
負載平衡不僅有助於緩解真正的流量高峰。 它還有助於應對 DDoS 攻擊引起的大量用戶請求。
分佈式拒絕服務 (DDoS) 攻擊本質上是惡意的,旨在通過大量虛假流量淹沒網站來使網站上線。
攻擊者出於多種不同原因使用這些類型的攻擊,包括政治動機、勒索和勒索。
您的源服務器不知道虛假流量和真實流量之間的區別。 同樣數量的資源將被使用。
就像來自真實流量的流量峰值一樣,來自虛假流量的流量峰值同樣會使您的服務器超載,導致您的網站對所有用戶都無法使用,直到攻擊者決定刪除流量。
CDN 服務器將所有流量(包括惡意流量)從源服務器路由到位於全球各地的多個 CDN 邊緣服務器,從而保護您的網站免受 DDoS 攻擊。
簡而言之,如果您的網站連接到 CDN,則不太可能因 DDoS 攻擊而離線。
4. 電子商務網站更好的穩定性
由於季節性銷售、某些產品的突然流行、商店在社交媒體上走紅等原因,電子商務網站更有可能經歷真實但不一致的流量高峰。
這就是為什麼所有電子商務商店都應安裝在雲服務器上,以便服務器可以在需要時進行擴展。
這也是 CDN 對於電子商務網站如此重要的原因。
負載平衡將使您的商店在流量激增時保持在線,確保訪問您網站的每個人都可以下訂單。
5. 減少帶寬消耗
帶寬消耗的急劇增加是不好的,原因有兩個:它的成本更高,並且消耗源服務器的更多資源。
如果您的帶寬不足,您的網站可能會崩潰。
當您將流量分配到組成內容分發網絡的多個邊緣服務器時,您可以減少源服務器的帶寬消耗並節省帶寬成本。
6.更好的用戶體驗
這是使用 CDN 的首要好處。 當您通過這種類型的網絡分配流量時,您可以為所有用戶提高站點的性能,從而減少他們的網絡速度或地理位置問題。
這將為您的網站帶來更好的用戶體驗,從而使訪問者在網站上花費更多時間並與其進行更多互動。
也不要認為這種好處是理所當然的。 您的網站可能不是 Web 應用程序,但它確實包含您希望訪問者與之交互的部分。
改善的用戶體驗意味著更多的電子郵件註冊、電子商務銷售、社交分享以及您在網頁上插入的任何其他交互式組件。
誰使用 CDN?
所有主要網站都使用 CDN,而那些不應該使用的網站。 您可以使用 Wappalyzer 等瀏覽器擴展來查看哪些網站在您瀏覽時使用 CDN 服務,甚至是它們使用了哪些網站。
根據網絡上最大的兩家 CDN 提供商的網站,DoorDash、DHL、Shopify 和 L'Oreal 等公司使用 Cloudflare,而 Peacock、Honda 和 Zalando 使用 Amazon CloudFront。
對於誰使用 CDN 以及它如何提供幫助的真實示例,讓我們看一下 Nexus Mods 的案例研究,該公司使用 Bunny.net。
Nexus Mods 是一家位於英國的遊戲網站,是遊戲玩家上傳和下載各種視頻遊戲模組的中心。 他們提供了一個龐大的庫,其中包含超過 50 TB 的修改內容。
據 Sameweb 稱,該網站每月的訪問量超過 5500 萬次。
路由流量和內容到這種程度的成本非常高,需要企業級定價。 當他們自己的 CDN 解決方案沒有達到預期效果時,Nexus Mods 轉向 Bunny.net 尋求邊緣存儲和 CDN 服務。
此舉為 Nexus Mods 節省了 30% 的 CDN 成本,並完全消除了用戶對該網站用戶體驗和性能的抱怨。
該網站的頁面速度不到兩分鐘,這對於一個存儲高達 50TB 內容且每月訪問量數千萬次的網站來說已經不錯了。
Bunny.net 的其他客戶包括 Hyundai、TCL、Astra、OptinMonster、NitroPack、AppSumo、ShortPixel、Comic Con 和 Floatplane。
不同類型的 CDN
CDN 分為三種類型:
- 拉取CDN
- 推送CDN
- 點對點 (P2P) CDN
拉取CDN
拉式 CDN 的職責是從源服務器“拉取”Web 內容並將其分發到整個內容交付網絡。
然後,當收到請求(通常是用戶訪問網站時從用戶瀏覽器發送的請求)時,其網絡會提供該內容。
內容仍然保留在站點的原始服務器上,但它們各自的 URL 被重寫,以便它們指向 CDN 的服務器,從而允許進行流量分發。
簡而言之,這種類型的 CDN 從站點的源服務器提取 Web 內容,對其進行緩存,然後在收到請求時將其分發給用戶。
推送CDN
在推送 CDN 環境中,您或您的 Web 服務器手動或自動將內容“推送”到 CDN 服務器。
它的設計本質上與拉式 CDN 環境的工作方式相反。
當收到請求時,CDN 不會自動從 Web 服務器提取所有內容。 您或您的 Web 服務器將其發送到那裡,以便可以通過 CDN 提供服務。
這允許您選擇從 CDN 提供哪些內容。 通常,網站管理員使用此方法在 CDN 的邊緣服務器上存儲內容(通常是圖像和視頻)。
然後,內容會緩存在網絡服務器上,直到緩存被清除或內容被刪除。
當 CDN 收到請求時,緩存的內容將提供給用戶。
點對點 CDN
在推拉 CDN 環境中,資源分佈在服務器和客戶端網絡之間。
在 P2P CDN 環境中,資源分佈在對等網絡之間。
在這種類型的網絡中,使用網絡的每個對等方在與網絡上的其他用戶交換內容時都充當客戶端和服務器。
最適合 WordPress 的 CDN 服務是什麼?
適用於 WordPress 的最佳 CDN 服務是 NitroPack、Sucuri 和 Bunny.net。 但在我們解開這些服務之前,讓我們先談談如何實現 WordPress CDN 技術。
如果您想將 WordPress 網站連接到 CDN,首先要注意您的主機火力。
您的主機很可能擁有自己的 CDN,或者可能具有可從主機的控制面板啟用的第一方 CDN 集成。
瀏覽主機網站的前端,看看它是否提到 CDN,或者直接詢問他們。 如果您不精通技術,那麼設置主機的 CDN 解決方案比第三方解決方案要容易得多。
幸運的是,此列表中的 CDN 也非常易於使用。
1. 硝基包
NitroPack是一項網站速度優化服務,旨在與 WordPress(並針對 WooCommerce 電子商務插件進行優化)、OpenCart、Magento 和定製網站配合使用。
其主要功能包括高級緩存、圖像優化以及文件縮小和優化。
不過,它還與 Cloudflare 的 CDN 服務集成,讓您兩全其美。
當 NitroPack 緩存您的內容時,它會利用與 Cloudflare 全球網絡的集成來向世界各地的用戶提供該內容。
NitroPack 過去使用 Amazon Web Services (AWS) 作為 CDN 提供商,並且仍然使用它們作為後備。
改用 Cloudflare 使他們能夠提供 HTML 邊緣緩存以及“世界一流的性能”並改進“安全性和數據隱私”。
您使用 NitroPack 緩存的內容將通過 Cloudflare 的全球網絡提供服務,其中包括位於 100 多個國家/地區 300 多個城市的數據中心。
但是,您也可以使用 NitroPack 的其他 CDN 提供商,例如 Bunny.net、Stackpath、Kinsta 的 CDN、Optimole、GoDaddyCDN 和 SiteGround 的 CDN。
其中一些解決方案甚至可以直接與 NitroPack 配合使用。 唯一與 NitroPack 不兼容的 CDN 是 Amazon CloudFront。
價錢
NitroPack 的定價基於頁面瀏覽量和 CDN 帶寬。 提供免費計劃。 高級計劃起價為 21 美元/月。
閱讀我們的 NitroPack 評論。
2.蘇庫裡
Sucuri是一項網站安全服務,還提供自己的 CDN。
就安全性而言,Sucuri 在惡意軟件檢測和刪除方面提供了同類功能中最佳的性能。
Sucuri 的內容交付網絡由五大洲 10 個國家的 14 個數據中心組成。
價錢
包含該服務 CDN 的套餐起價為 9.99 美元/月。 該計劃還附帶網絡訪問防火牆。
3.兔子網
Bunny.net是一個專用 CDN,其網絡包括六大洲 77 個國家/地區的 114 個邊緣站點。
Bunny.net 的 CDN 具有直觀的儀表板、您可以輕鬆設置和管理的拉區、實時監控和報告、網絡限制、DDoS 保護、自動修復、邊緣規則、圖像優化、永久緩存、可自定義緩存等。
Bunny.net 還提供存儲解決方案、文件優化和 DNS 路由解決方案,但這些都是作為單獨的服務提供的。
價錢
Bunny.net 是一種按使用量付費的 CDN 服務,具有基於區域的定價,其起價如下:
- 歐洲和北美– 0.01 美元/GB
- 亞洲和大洋洲– 0.03 美元/GB
- 南美洲– 0.045 美元/GB
- 中東和非洲– 0.06 美元/GB
基於流量的 CDN 使用也有單獨的價格點。 這些適用於需要超過 500TB 帶寬的網站。
最後的想法
如您所見,CDN 是 Web 託管的重要組成部分,可提供改進的性能和 DDoS 緩解。 事實上,它非常重要,許多網絡主機都提供自己的 CDN 或通過第一方合作夥伴關係與 CDN 提供商集成。
在大多數情況下,您需要選擇一個簡單的拉取 CDN 環境,該環境可以在用戶訪問您的網站時自動從服務器獲取您的 Web 內容。
如果您的網站上有大量內容(例如高分辨率圖像和視頻),請考慮使用提供存儲解決方案的 CDN 提供商。
總而言之,如果您當前沒有使用 CDN,請考慮改用 CDN,以保護您的網站免受機器人流量和未來流量高峰的影響。
相關閱讀:
- 加速 WordPress 的最佳插件
披露:這篇文章包含附屬鏈接。 這意味著如果您購買,我們可能會收取少量佣金。