# Overview
Content Delivery Networks act as a system component that aims to bring data closer to users. It is a type of [[caching]] system that users distributed servers to store data geographically close to users. This is most often done with media content (e.g., images, videos, and HTML files), hence the term 'content' in the name, but it can be used for dynamic content, like API responses.
When a user requests content, the CDN will route the request to the closest server. If the content is not on the server, the CDN will reach out to the origin server to retrieve the data and cache the data on the local server for future use.
## General Use Cases
- Data that is accessed frequently, but updated infrequently
# Key Considerations
Since a CDN is effectively a cache, a CDN's design must cover many of the same considerations, including [[Caching#Eviction Policy]], [[Caching#Cache Coherence]], and [[Caching#Cache Invalidation]].
# Implementation Details
## Signed-URLs #flashcard
Different than [[pre-signed URLs]]. Both approaches use signatures, but the key difference is **who validates them**:
- **Blob storage signatures** (like S3 presigned URLs) are validated by the storage service using your cloud credentials. The storage service has your secret key and can verify that you generated the signature.
- **CDN signatures** (like CloudFront signed URLs) are validated by the CDN edge servers using public/private key cryptography. You hold the private key and sign the URL. The CDN has the corresponding public key and validates signatures at edge locations worldwide - no need to call back to your servers or the origin storage service.
## Miscellaneous
- [[Content Optimization]]
- [[Caching]]
- [[Frontend Performance Improvements]]
# Useful Links
## Products:
- [[Cloudflare]]
- [[Akamai]]
- [[Amazon Cloudfront]]
# Related Topics
---
When adding a **CDN** to a system design, you'll want to consider the... #flashcard
- Pull vs. Push CDNs
- Is there any edge logic being applied?
- Cache invalidation
- TTL
- Cost
---
<!--ID: 1751507776520-->