# CDN (Content delivery network) 內容傳遞網路 ![](https://i.imgur.com/6PgZ77g.png) <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
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up