A CDN is a network of servers, known as nodes or PoPs (Points of Presence). They can supplement, or in some situations can even replace, a traditional web server. When a CDN is used for a website, it is used to deliver some or all of the site’s content to its visitors.
A CDN changes the traditional flow of client-server traffic. Instead of all requests coming into, and being fulfilled by, a single server, they are routed so that some (or all) are fulfilled by the CDN instead.
Request routing is a key part of this process. Under the hood, this can be fairly complicated; fortunately, most CDN providers have automated the process, and have simplified the initial setup and configuration. Today, integrating a site into a CDN can often be accomplished with just a few clicks on a management console.
Once this is done, incoming requests for content on the CDN are routed and fulfilled appropriately. The remaining requests, if any, are sent on to the host as usual. For more information on this, see What is CDN?
There are several types of CDNs, and several ways to use them. The most common type is a caching CDN, described below.
A caching CDN delivers static content: files that already existed before the user requested them. This is in contrast to dynamic/custom content, which is generated upon demand. For example, when a banking customer logs into a banking site to look at an account, the page will include lots of static content (the page header, the bank’s logo, various CSS files, etc.), plus custom content (the account’s current balance, the list of its recent transactions, and so on) that was dynamically generated for that user.
Obviously, a large portion of Internet traffic consists of static content. Most websites have a lot of it, including:
- Audio files
- Video files
- Other media files
- Site graphics
- UI and other graphical elements (for example, custom buttons)
- Web elements such as scripts, fonts, CSS files, and more.
Essentially, any file that does not require processing by the server—anything that merely has to be delivered upon request from a browser—can be served by a CDN.
A caching CDN stores this content in multiple locations, usually all across the globe. In every request for data, the CDN algorithm chooses the location nearest to where the request came from.
This improves the user experience in several ways. A visitor to a CDN-integrated site will have a faster and more responsive interaction with that site.
- The CDN server is physically close to the visitor, so static content is served over a short distance, and often with fewer internetwork connections.
- Most CDN networks are large and have abundant bandwidth, so the CDN server will be quick and responsive when providing content to requestors.
- The site’s web server is freed from the burden of providing static content. All of its capacity can be dedicated to serving dynamic content, which is thus provided more quickly than it would be without the CDN.
In addition to happier users, there are other benefits to the site owner too. For more information, see Why should you use a CDN?