# CDN (Content delivery network) 內容傳遞網路  <center>Left: Without CDN, Right: With CDN</center> ## CDN 是什麼 > A content delivery network (CDN) is a distributed network of servers that can efficiently deliver web content to users. CDN是一個「利用快取機制」的分散式伺服器**網絡,**目的在於**有效率且快速將網頁內容呈現給使用者**。(以網絡/群體的概念去理解) ## CDN 的機制 在POP location(入網點)的Edge servers(邊緣伺服器)上,抄一份原伺服器上的檔案過來。一旦有人要訪問該檔案(網址),DNS會先將request導向地理位置最近的POP location、檢查POP location中的Edge server是否有該內容。如果有,則傳送該內容回去;如果沒有,則由Edge server向原伺服器request該檔案,拿到response後回傳給使用者並抄送一份進Edge server儲存。 該檔案儲存在Edge server的時間長度視HTTP header中的TTL(Time-To-Live)而定,預設為七天。 ## [CDN 的實際案例](https://docs.microsoft.com/zh-tw/azure/cdn/cdn-overview#how-it-works) ## CDN 的好處 - 讓使用者享有更好的效能和改善的使用者經驗,尤其是當使用的應用程式需要反覆存取多次才能載入內容時。 - 進行大幅調整可以更妥善地處理瞬間大量負載 (例如產品上市事件的開始)。 - 分散使用者要求,並從邊緣伺服器直接提供內容,以減少傳送至原始伺服器的流量。 > **假如有一個主機架在美國的網站:** > 如果該網站有採用 CDN 服務,用戶在發出 Request 時會被導向位在POP location(如:香港、新加坡)的Edge server去找該網站的快取內容。由於地理位置近,很快就能加載網站。 > > 相反的,如果網站沒有採用CDN,用戶每次發出 Request,都得連線到網站的主機所在地(美國)才能抓到資料,由於地理位置遠,會花更長的時間才能加載網站。 > ## Reference - [Azure Document](https://docs.microsoft.com/zh-tw/azure/cdn/cdn-overview)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.