CDN is an abbreviation for Content Delivery Network (or alternately, Content Distribution Network). Physically, a CDN is a network of servers spread across a geographical area. Today, global CDNs are commonly used.
Before CDNs became popular, most web traffic consisted of simple client-server transactions. When someone used a web browser to visit a website, the client (i.e., the web browser) sent a request to the server (the web host). The host responded by returning the data that was requested. Usually, this consisted of a number of files: at least one file containing the page’s HTML, plus graphics and other content.
As the web became more popular, this traffic flow became suboptimal. During times of heavy demand, web server performance suffered. To make matters worse, the size of an average page grew rapidly. This increased the amount of content that had to be served per request.
A third factor was the rising speed of Internet connections. When most users were on slow dialup modems, their connections were the primary bottlenecks. As faster connections became more common, sluggish servers became more significant, more noticeable, and more irritating to users (who were growing more accustomed to better Internet responsiveness, and thus, more impatient with sites that didn’t load quickly).
A CDN is a solution to all of these problems.
As its name says, a CDN assists in the delivery of content. The content is cached across the CDN’s servers, known as its nodes or its PoPs (Points of Presence). Requests for that content are served directly from the CDN, rather than from a central web server.
Most CDNs are used only for cacheable data. Some sites are made of static content (content that changes infrequently). These sites can be served completely from a CDN. Other sites are a mixture of static and dynamic content; these can offload their static content to the CDN, while still serving dynamic content from a traditional web host.
When a site is integrated with a CDN, incoming requests are routed to different destinations. Requests for content on the CDN are routed to the closest available node, which replies with the requested file(s). Requests for dynamic content are served by the host. Thus, a CDN is not a replacement for web hosting. Rather, it’s a facilitator for a faster Internet. (For more information on the overall process, see How does a CDN work?)
CDNs can be used in any situation where content is distributed over the Internet. This includes advertising networks, broadcast email, web/native/mobile applications, and many other uses.
However, the most common use is to enhance the responsiveness and loading speeds for websites. For example, a website is hosted in the U.S.—but in order to load quickly in Singapore, it uses a CDN in Singapore to store large files and enhance loading to local users. Web visitors in Singapore and other local regions receive that content in a much shorter time than they would if they were requesting it from the host, which is thousands of miles away.
This obviously provides a much better experience for those users. The cached content is available to them much more quickly. Even the dynamic content—the data that cannot be cached, because it changes too frequently, or because it is generated specifically for each user—is served more quickly, because the host has a much lower workload. Without needing to serve the cached content, the host can devote all its capacity to generating and providing the dynamic content alone.
Using a CDN will not only improve the user experience, it has many other benefits to site owners as well. For more information on this, see Why should you use a CDN?