About
A CDN is a network of cache server located in data center called PoPs (Points of Presence) that speeds up distribution of static resource such as .html, .css, .js, and image files.
CDNs have server placed in datacenters all around the world in servers called edge locations (ie server all over the world).
You may defined a set of caching rules and behavior for a website or application.
A CDN is just a packet routing system for the Internet that automatically routes HTTP requests for a website to the nearest edge location (cache) server. See implementation for the available technology
Content
The content that can be cached is the static resources (images, CSS files, Javascripts, video and audio media).
Metrics
A publishing site with 5000 pages of text and image by day will use around 5GB/month.
Typically a VPS comes with 1TB of bandwith.
List
- https://www.jsdelivr.com/ - A free CDN for Open Source
# github example
https://cdn.jsdelivr.net/gh/name/repo@release/file.js
- https://www.cdn77.com/ (0.045 / GB) - Winscp use them
Implementation Technology
To route a request from a name to the nearest server, there is basically two technology:
- Network - IP Anycast - complicated
To sync, you can use file sync technology such as rsync.
See also this infographic from Jsdeliver