A content delivery network (CDN) is a distributed network of servers that can efficiently deliver web content to users.
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 服務,用戶在發出 Request 時會被導向位在POP location(如:香港、新加坡)的Edge server去找該網站的快取內容。由於地理位置近,很快就能加載網站。相反的,如果網站沒有採用CDN,用戶每次發出 Request,都得連線到網站的主機所在地(美國)才能抓到資料,由於地理位置遠,會花更長的時間才能加載網站。