콘텐츠 전송 네트워크 CDN
CDN은 사이트 콘텐츠를 전 세계 노드에 복제해, 누구나 가까운 곳에서 더 빠르게 받게 합니다.
한 문장으로
CDN은 콘텐츠를 사용자와 가장 가까운 노드에 두어, 전 세계가 가까이서 빠르게 받게 합니다.
쉽게 말하면
서버가 대만에 있다면, 브라질에 있는 사용자는 매번 지구 반 바퀴를 돌아 데이터를 가져와야 하니 당연히 느리죠. CDN(콘텐츠 전송 네트워크) 은 여러분의 콘텐츠를 전 세계 "노드"에 복제해 두고, 사용자는 자기와 가장 가까운 노드에 접속합니다 — 그래서 훨씬 빨라져요.
CDN이 특히 잘하는 건 "거의 바뀌지 않는" 콘텐츠, 예를 들어 이미지·CSS·정적 페이지로, 이것들을 캐시해 둡니다. 이 사이트 자체도 정적 사이트라서 Cloudflare의 글로벌 CDN에 배포되어 있어, 어디서든 읽기가 빠릅니다.
아키텍처
동작 흐름
왜 먼 곳의 사용자는 느리게 느낄까
데이터는 빠르게 전달되지만 즉시는 아니에요 — 물리적 거리에 묶여 있죠. 서버가 한 도시에만 있다면, 지구 반대편 사람은 요청할 때마다 수천 킬로미터를 오가야 하고, 그 왕복이 쌓여 눈에 띄는 지연이 됩니다.
CDN의 해법은 여러분의 파일 사본을 전 세계 여러 곳에 두는 거예요. 먼 곳의 방문자는 멀리 있는 오리진이 아니라 자기 가까이의 노드에서 로드합니다. 그래서 페이지가 그 사람에게도 여러분에게처럼 쾌적하게 느껴지죠.
핵심 정리
- CDN = 콘텐츠를 사용자에게 최대한 가깝게 두는 것.
- "자주 바뀌지 않는" 정적 콘텐츠의 캐시에 가장 적합.
- 갱신 후에는 오래된 캐시의 삭제(무효화 전략)에 유의할 것.
일상 속 비유
편의점 체인 같아요. 본사(오리진)는 하나지만 지점은 곳곳에 있죠 — 물건을 사러 본사까지 갈 필요가 없어요.
장점
- 전 세계 사용자의 로딩 시간을 크게 줄임
- 트래픽을 분산해 오리진 서버의 부하를 덜어줌
- 보통 기본적인 방어와 캐시 기능이 함께 따라옴
단점
- 콘텐츠 갱신 후 오래된 캐시는 반영 시간이나 수동 삭제가 필요함
- 동적·개인화된 콘텐츠는 그대로 캐시하기에 적합하지 않음
적합한 경우
- 전 세계 사용자를 대상으로 하는 사이트
- 이미지·동영상·정적 자산의 가속
맞지 않는 경우
- 사람마다 다른 고도로 실시간인 데이터
초보자 점수표
- 초보자 추천도
- 4/5
- 학습 비용(높을수록 비용 큼)
- 2/5
- 시장 수요
- 4/5
- AI 생성 친화도
- 4/5
자주 묻는 질문
CDN은 무엇이고 꼭 필요한가요?
CDN은 전 세계에 퍼진 ‘편의점’으로, 이미지·CSS·JS를 사용자와 가장 가까운 지점에 캐시합니다. 지역을 넘나들거나 방문자가 많다면 써야 하며, 무료인 경우도 많습니다.
CDN은 이미지만 빠르게 해 주나요?
아닙니다. 정적 파일(JS/CSS/폰트/영상)은 모두 캐시할 수 있고, Cloudflare 같은 최신 CDN은 공격 차단과 엣지 연산도 합니다.
CDN을 썼는데 내용을 바꿔도 갱신이 안 돼요. 왜인가요?
사용자가 캐시된 옛 버전을 받기 때문입니다. 배포 시 파일명에 버전(해시)을 넣거나 캐시를 퍼지(purge)하면 브라우저와 CDN이 새 파일을 가져옵니다.