什麼是CDN?CDN的技術原理是什麼?
什麼是CDN?
CDN的全稱是Content Delivery Network,中文名稱“內容分發網路”。其主要原理是在現有網路中增加一層新的網路架構,將源站中的內容釋出到不同的網路節點上,使使用者可以就近獲得所需的內容,從而提高使用者訪問網站的速度。CDN可以在技術上有效解決由於網路頻寬小、使用者訪問量大、網點分佈不均等造成的訪問延遲、線路擁堵等問題。
CDN技術原理
當使用者訪問已經加入CDN網路的網站時,首先會透過DNS重定向到最接近使用者的最佳CDN節點。使用者請求該節點,CDN伺服器會代替源站將使用者請求的內容提供給使用者。
具體流程為:
使用者在瀏覽器中輸入想要訪問域名,瀏覽器向本地DNS伺服器請求該域名的解析地址,本地DNS最終請求到域名的權威DNS伺服器,權威伺服器將該域名的CNAME記錄指向的另一個主機名(CDN DNS伺服器)返回給本地DNS,本地DNS請求CDN DNS伺服器,CDN DNS伺服器根據訪客IP,返回一個就近的CDN節點IP,本地DNS將這個IP地址告知訪客,訪客對這個IP地址發起訪問。
CDN加速例項
當使用者對這個域名發起請求時,實際的處理流程如下圖所示:
(2)LDNS經過根域名伺服器、頂級域名伺服器定址,最終向該域名授權的DNS(權威DNS伺服器)發起域名解析請求;
(3)權威DNS伺服器會將CNAME記錄 (DNS排程系統)返回給LDNS;
(4)LDNS向DNS排程系統發起請求;
(5)DNS排程系統會根據訪客IP為其返回一個就近的CDN伺服器節點2.2.2.2
(6)使用者對2.2.2.2的CDN節點發起1.jpg這個檔案的訪問請求;
(7)如果該節點快取由1.jpg檔案,直接提供給使用者;如果沒有,則向源站請求資料,然後再提供給使用者。
CDN快取機制
由於CDN涉及各級快取,所以必然需要考慮到快取更新問題。如果瀏覽器本地快取失效後,瀏覽器就會向就近的CDN節點發起請求。類似瀏覽器快取,CDN節點也存在著一套快取機制。如果CDN快取有使用者請求的內容,會直接返回給使用者結果。如果快取沒有請求內容或快取失效,CDN就會請求源站獲取新的內容。
CDN快取機制不僅減少了使用者的訪問延遲,也減輕了源站負載,但同樣存在明顯的缺點,當網站內容更新時,如果CDN節點上的資料沒有及時同步,就會導致使用者獲取到錯誤的資訊。在這種情況下,使用者即使重新整理瀏覽器快取,也無法解決。
CDN的快取策略
CDN的快取策略會根據服務商不同而有所差別,但一般都遵循HTTP標準協議,透過HTTP響應頭中的Cache-control: max-age的欄位來設定CDN邊緣節點資料快取時間。
當客戶端向CDN節點請求資料時,CDN就會判斷快取資料是否過期,如果沒有過期,直接將資料返回給客戶端;如果快取資料已過期,CDN節點就會向源站發出回源請求,從源站獲取最新資料,更新本地快取,並將最新資料返回給客戶端。
如果快取時間太短,CDN節點會頻繁對源站發起請求,增加了源站的負載,同時也加大了訪問延遲;如果快取時間太長,就會導致快取資料更新不及時,使用者獲取資訊異常的情況。所以網站運營者需要根據自身業務,設定合理的快取時間管理。
CDN的快取重新整理
網站運營人員可以透過CDN服務商提供的快取重新整理介面來直接清理CDN邊緣節點的快取資料,這樣網站內容更新後,就可以強制CDN節點快取資料過期,重新請求源站,以保證客戶端在訪問時,獲得最新資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996004/viewspace-2923901/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 影片CDN的技術原理是什麼?
- 什麼是cdn技術
- 【Linux分享】什麼是CDN?CDN加速的原理是什麼?Linux
- 什麼是CDN?CDN的原理和作用是什麼?
- 什麼是CDN加速技術
- 什麼是CDN
- cdn是什麼?
- CDN是什麼呢
- CDN的用途是什麼
- 什麼是CDN防禦
- CDN加速是什麼樣的
- 什麼是CDN加速?CDN加速有哪些作用?
- CDN是什麼?為何要用CDN加速網站?網站
- 【知識分享】伺服器cdn是什麼有什麼功能伺服器
- 與傳統的CDN相比,高防CDN的作用和優勢是什麼
- 什麼是CDN邊緣伺服器,有什麼優缺點?伺服器
- 雲、CDN、IDC三個概念的區別是什麼
- CDN和CDN加速有什麼關聯
- 大資料技術的原理是什麼大資料
- 低程式碼的技術原理是什麼?
- vr全景技術是指什麼?什麼是vr全景技術?VR
- NLA是什麼?NLA的原理是什麼?
- cdn加速有什麼功能?
- 為什麼要使用CDN?
- 什麼是技術債,為什麼要還技術債?
- 網站CDN加速是什麼? 看完這篇你就明白了!網站
- 什麼是好的技術文件?
- httpdns是個什麼技術,有什麼用httpdDNS
- 隧道代理技術是什麼?
- 【學習】介面是什麼?實現原理的是什麼?
- 交換機是什麼,它的工作原理是什麼
- 技術美術師是做什麼的?
- 防劫持cdn有什麼作用?-VeCloudCloud
- 你所聽到的技術原理、技術本質到底是什麼?
- Web前端技術分享:什麼是塊元素?什麼是行內元素?Web前端
- NLA有什麼用?原理是什麼?
- 什麼是Code-Behind技術
- 什麼是爬蟲?爬蟲的工作原理是什麼呢爬蟲