CDN(Content Delivery Network) 의 약자로, 전 세계 여러 곳에 콘텐츠를 저장하는 서버(캐시 서버) 를 두고, 사용자에게 가장 가까운 서버에서 콘텐츠를 제공해주는 시스템
즉, 정적 콘텐츠를 전송하는 데 쓰이는, 지리적으로 분산된 서버의 네트워크
해당 포스팅에는 CDN을 사용해 정적 콘텐츠를 캐시하는 방법에 집중하겠습니다.
사용자가 CDN 서버로부터 멀면 멀수록 웹 사이트는 천천히 로드된다.
예를 들어, CDN 서버가 서울에 있다면 경기도에 있는 사용자는 일본에 있는 사용자보다 빠른 웹사이트를 볼 수 있다.
CDN이 사이트 로딩 시간을 그림을 통해 간접적으로 이해해보자.
아래는 CDN의 동작을 설명하는 그림이다.
동작 설명
1. Client A가img.png를 요청한다.
2. CDN에img.png가 없으면 원본 서버에 요청하여 콘텐츠를 가져온다.
3. 가져온img.png를 CDN에 캐시한다.
4. CDN이 Client A에게img.png를 반환한다.
5. Client B가 동일한img.png를 요청한다.
6. CDN은 이미 캐시된img.png를 사용하여, 원본 서버를 거치지 않고 Client B에게 바로 반환한다.
Point
1~4 : 최초 요청 -> 캐시 미스 -> 원본 서버 요청 -> 캐시 저장 -> 응답
5~6 : 이후 요청 -> 캐시 히트 -> 바로 응답 (원본 서버 불필요)