CDN - What is it, and why should you use it.
CDN – Content Delivery Network, is one of the most important layers your site could have when it comes to your site speed and caching optimization.
Think about your site as a product that your visitors would like to see, however they need to reach it over and over again, every time they would like to see an image, another page and literally any asset which is served from your server.
Now, even though the internet is a fast, SO fast place, it still takes the visitor some time to reach all the way from his device all the way to your server.
A CDN is a service that does the heavy lifting of that round trip for your visitor, but with a tremendously faster internet connection. The CDN provider holds “nodes” all around the globe, with a faster connection, and inter-connectivity between the service’s nodes, and can reduce the trip for each request by half or more.
On top of being able to do the trip for the visitor, the CDN holds caching capabilities, which basically means that it would hold a local version of your website on each node in its network. What does that mean for you? the visitor would ask the closest node for the site, and the node would serve the latest copy it has without the need to ask your server to generate a new one.
Server processing "cost" resources
When a visitor asks your server for a fresh copy, the server has to understand the request, process it, generate a response and send it back to the visitor.
Your server is limited to the amount of resources (memory, processing, network) it has been allocated. While you may have a strong server, and you can add more resources, the CDN caching will assist you with reducing the processed requests, and provide your visitors with the “last version” it got from your server.
Long story short, the first request in the caching period (which you define) will go to the server, and any subsequent request will be served from the CDN node. How awesome is that?