内容分发网络 - Content Delivery Network 学习笔记
緩存是將文件副本存儲在緩存或臨時存儲位置的過程,以便可以更快地訪問它們。從技術上講,緩存是文件或數據副本的任何臨時存儲位置,但該術語通常用于指代 Internet 技術。 Web 瀏覽器緩存 HTML 文件、JavaScript 和圖像以更快地加載網站,而 DNS 服務器緩存 DNS 記錄以加快查找速度,CDN 服務器緩存內容以減少延遲。
要了解緩存的工作原理,請考慮真實世界的食物和其他補給緩存。 1912 年,探險家羅爾德·阿蒙森 (Roald Amundsen) 從南極之旅返回途中,他和他的手下靠沿途儲存的食物維持生計。這比在他們旅行時等待從他們的大本營運送補給品更有效。 Internet 上的緩存也有類似的用途;它們臨時存儲用戶在網絡上進行旅程所需的“用品”或內容。
What does a browser cache do?
每次用戶加載網頁時,他們的瀏覽器都必須下載大量數據才能顯示該網頁。 為了縮短頁面加載時間,瀏覽器會緩存網頁上顯示的大部分內容,將網頁內容的副本保存在設備的硬盤上。 這樣,下次用戶加載頁面時,大部分內容已經存儲在本地,頁面加載速度會快得多。
瀏覽器存儲這些文件,直到它們的生存時間 (TTL) 到期或直到硬盤緩存已滿。 (TTL 表示內容應緩存多長時間。)如果需要,用戶還可以清除瀏覽器緩存。
What does clearing a browser cache accomplish?
清除瀏覽器緩存后,加載的每個網頁都會像用戶第一次訪問該頁面一樣加載。 如果第一次加載錯誤并被緩存,清除緩存可以讓它正確加載。 但是,清除瀏覽器緩存也會暫時減慢頁面加載時間。
What is CDN caching?
CDN 或內容交付網絡將內容(例如圖像、視頻或網頁)緩存在比原始服務器更靠近最終用戶的代理服務器中。 (代理服務器是從客戶端接收請求并將它們傳遞給其他服務器的服務器。)因為服務器離發出請求的用戶更近,所以 CDN 能夠更快地交付內容。
將 CDN 想象成連鎖雜貨店:購物者無需一路前往可能有數百英里外的種植食物的農場,而是前往當地的雜貨店,這仍然需要一些旅行,但 更接近。 因為雜貨店從遙遠的農場儲存食物,所以雜貨店購物需要幾分鐘而不是幾天。 同樣,CDN 緩存“庫存”出現在 Internet 上的內容,以便更快地加載網頁。
當用戶使用 CDN 從網站請求內容時,CDN 從源服務器獲取該內容,然后保存該內容的副本以供將來請求。 只要用戶繼續請求,緩存的內容就會保留在 CDN 緩存中。
What is a CDN cache hit? What is a cache miss?
緩存命中是指客戶端設備向緩存請求內容,并且緩存已保存該內容。 當緩存中沒有請求的內容時,就會發生緩存未命中。
緩存命中意味著內容將能夠更快地加載,因為 CDN 可以立即將其交付給最終用戶。 在緩存未命中的情況下,CDN 服務器會將請求傳遞給源服務器,然后在源服務器響應后緩存內容,以便后續請求將導致緩存命中。
Where are CDN caching servers located?
CDN 緩存服務器位于全球各地的數據中心。 CDN 在遍布全球的 200 個城市擁有 CDN 服務器,以便盡可能靠近訪問內容的最終用戶。 CDN 服務器所在的位置也稱為數據中心。
How long does cached data remain in a CDN server?
當網站用請求的內容響應 CDN 服務器時,它們也會附加內容的 TTL,讓服務器知道將其存儲多長時間。 TTL 存儲在稱為 HTTP 標頭的響應的一部分中,它指定內容將被緩存的秒數、分鐘數或小時數。 當 TTL 到期時,緩存會刪除內容。 如果有一段時間沒有請求內容,或者如果 CDN 客戶手動清除某些內容,一些 CDN 也會提前從緩存中清除文件。
How do other kinds of caching work?
DNS 緩存發生在 DNS 服務器上。 服務器將最近的 DNS 查找存儲在它們的緩存中,這樣它們就不必查詢名稱服務器,并且可以立即回復域的 IP 地址。
搜索引擎可能會緩存經常出現在搜索結果中的網頁,以便回答用戶查詢,即使他們嘗試訪問的網站暫時關閉或無法響應。
內容交付網絡 (CDN) 是指一組地理分布的服務器,它們協同工作以提供 Internet 內容的快速交付。
CDN 允許快速傳輸加載 Internet 內容所需的資產,包括 HTML 頁面、javascript 文件、樣式表、圖像和視頻。 CDN 服務的受歡迎程度持續增長,如今大部分 Web 流量都通過 CDN 提供服務,包括來自 Facebook、Netflix 和 Amazon 等主要網站的流量。
正確配置的 CDN 還可以幫助保護網站免受一些常見的惡意攻擊,例如分布式拒絕服務 (DDOS) 攻擊。
Is a CDN the same as a web host?
雖然 CDN 不托管內容,也不能替代適當的網絡托管,但它確實有助于在網絡邊緣緩存內容,從而提高網站性能。 許多網站難以通過傳統托管服務滿足其性能需求,這就是他們選擇 CDN 的原因。
通過利用緩存來減少托管帶寬,幫助防止服務中斷并提高安全性,CDN 是緩解傳統網絡托管帶來的一些主要痛點的流行選擇。
使用 CDN 的優勢
盡管使用 CDN 的好處因互聯網資產的大小和需求而異,但對大多數用戶而言,主要好處可以分為 4 個不同的組成部分:
(1) 縮短網站加載時間
通過使用附近的 CDN 服務器(以及其他優化)將內容分發到離網站訪問者更近的地方,訪問者體驗更快的頁面加載時間。由于訪問者更傾向于點擊遠離加載緩慢的站點,CDN 可以降低跳出率并增加人們在站點上花費的時間。換句話說,更快的網站意味著更多的訪問者將停留并停留更長時間。
(2) 降低帶寬成本
網站托管的帶寬消耗成本是網站的主要支出。通過緩存和其他優化,CDN 能夠減少源服務器必須提供的數據量,從而降低網站所有者的托管成本。
(3) 提高內容可用性和冗余度
大量流量或硬件故障可能會中斷正常的網站功能。由于其分布式特性,CDN 可以處理更多流量并比許多源服務器更好地承受硬件故障。
提高網站安全性 - CDN 可以通過提供 DDoS 緩解、安全證書改進和其他優化來提高安全性。
CDN 的工作原理
CDN 的核心是連接在一起的服務器網絡,其目標是盡可能快速、廉價、可靠和安全地交付內容。 為了提高速度和連接性,CDN 會將服務器放置在不同網絡之間的交換點。
這些 Internet 交換點 (IXP) 是不同 Internet 提供商連接的主要位置,以便相互訪問源自其不同網絡的流量。 通過連接到這些高速且高度互連的位置,CDN 提供商能夠降低高速數據傳輸的成本和傳輸時間。
除了在 IXP 中放置服務器之外,CDN 還對標準客戶端/服務器數據傳輸進行了許多優化。 CDN 將數據中心放置在全球的戰略位置,增強了安全性,旨在抵御各種類型的故障和互聯網擁塞。
CDN 如何改善網站的加載時間?
當涉及到網站加載內容時,用戶會隨著網站速度變慢而迅速流失。 CDN 服務可以通過以下方式幫助減少加載時間:
CDN 的全球分布特性意味著減少用戶和網站資源之間的距離。 CDN 無需連接到網站源服務器所在的任何地方,而是讓用戶連接到地理位置更近的數據中心。 更少的旅行時間意味著更快的服務。
硬件和軟件優化,例如高效的負載平衡和固態硬盤驅動器,可以幫助數據更快地到達用戶手中。
CDN 可以通過使用縮小和文件壓縮等策略減少文件大小來減少傳輸的數據量。較小的文件大小意味著更快的加載時間。
CDN 還可以通過優化連接重用和啟用 TLS 錯誤啟動來加速使用 TLS/SSL 證書的站點。
Reliability and Redundancy - How does a CDN keep a website always online?
正常運行時間是任何擁有 Internet 資產的人的關鍵組成部分。由于惡意攻擊或只是流行度增加,硬件故障和流量高峰有可能導致 Web 服務器癱瘓并阻止用戶訪問站點或服務。
一個全面的 CDN 有幾個功能可以最大限度地減少停機時間:
負載平衡將網絡流量均勻地分布在多臺服務器上,從而更容易擴展流量的快速增長。
即使一臺或多臺CDN服務器因硬件故障下線,智能故障轉移也能提供不間斷服務; 故障轉移可以將流量重新分配到其他操作服務器。
如果整個數據中心出現技術問題,任播路由會將流量轉移到另一個可用的數據中心,確保沒有用戶無法訪問網站。
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的内容分发网络 - Content Delivery Network 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地下城堡3潜水钟在哪 潜水钟怎么获得
- 下一篇: 内容分发网络 CDN 是如何提高网页加载