2026-03-01
CDN (Content Delivery Network)
CDN이란?
사용자와 가까운 서버에서 정적 콘텐츠를 제공하는 분산 네트워크 시스템
- 이미지, CSS, JS, 동영상, 폰트 같은 정적 파일을 전 세계 여러 서버에 복제해두고 사용자와 가장 가까운 서버에서 제공
- 전 세계에 분산되어 있는 서버들을 통해 사용자에게 웹 컨텐츠를 빠르고 효율적으로 제공하는 기술
왜 필요한가?
서버가 한국에 있는데 미국 사용자가 접속하면?
⇒ 물리적 거리 때문에 지연(Latency) 발생
CDN은:
- 사용자와 가까운 엣지 서버에서 파일 제공
- 응답 속도 개선
- 트래픽 분산
동작 원리
- 사용자가 웹사이트 요청
- DNS가 가장 가까운 CDN 서버로 연결 (=엣지서버)
- CDN 서버에 캐시가 있으면 바로 제공
- 없으면 원본 서버(Origin)에서 가져와 캐싱 후 제공

- DNS 서버는 사용자의 위치를 기준으로 가장 가까운 엣지 서버(캐싱 서버)의 IP 주소를 반환합니다.
- 엣지 서버는 요청된 콘텐츠가 캐싱되어 있는지 확인합니다. 엣지 서버에 해당 콘텐츠가 캐싱되어 있지 않거나 캐시된 콘텐츠가 만료됐다면, 오리진 서버에서 최신 콘텐츠를 가져옵니다.
- 엣지 서버는 사용자에게 콘텐츠 제공합니다.
CDN의 장점
- 성능 개선: 지연 시간 감소 (Latency 감소)
- 트래픽 분산: 원본 서버 부하 감소
- 안정성 증가: DDoS 완화 가능
- 캐싱 최적화: HTTP 캐시 전략과 연계 가능
CDN과 캐시의 관계
CDN은 HTTP 캐시 헤더와 함께 동작
Cache-Control: max-age=3600
⇒ 해당 파일을 1시간 동안 캐싱
프론트엔드에서 CDN 사용하는 예
- React 빌드 결과물 배포
- 이미지 CDN 사용 (Cloudinary 등)
- 외부 라이브러리 CDN 사용 (ex: jsdelivr)
참고자료
- https://docs.tosspayments.com/resources/glossary/cdn
- https://aws.amazon.com/ko/what-is/cdn/
- https://ipjaworld.tistory.com/57