Log in Get started
← 가이드 목록
시작하기

CDN이란? 홈페이지를 사용자와 가까운 서버에서 빠르게 전달하는 원리 쉽게 이해하기

CDN은 콘텐츠를 여러 지역에 두고 가까운 서버에서 전달합니다. Cache Hit·Miss, 브라우저 캐시와의 차이, Purge·캐시 버스팅까지 초보 기준으로 정리합니다.

CDN이란? 홈페이지를 사용자와 가까운 서버에서 빠르게 전달하는 원리 쉽게 이해하기

원본 서버가 미국에 있고 사용자가 한국에 있으면, 이미지 하나라도 먼 경로를 탈 수 있습니다. 이 거리를 줄이려 CDN(Content Delivery Network)을 씁니다. CDN은 이미지·CSS·JavaScript 등을 여러 지역 서버에 두고, 사용자와 가까운 곳에서 전달하는 시스템입니다.

쉽게 말하면 — CDN은 홈페이지 파일을 여러 지역 물류창고에 미리 나눠 두는 것과 비슷합니다.

CDN Cache Miss는 원본에서 가져와 저장하고 Cache Hit는 가까운 CDN에서 바로 전달하는 흐름
Cache Miss → 원본에서 가져와 CDN 저장 · Cache Hit → 가까운 CDN에서 바로 전달

전국 물류센터에 비유하면

서울에만 창고가 있으면 부산 고객은 매번 멀리서 받아야 합니다. 지역 물류센터가 있으면 가까운 곳에서 보냅니다. CDN도 원본(Origin)은 한곳에 두고, 여러 엣지 서버가 사용자 요청을 나눠 처리합니다.

Cache Hit · Cache Miss

  • Cache Miss — 가까운 CDN에 파일이 없어 원본에서 가져온 뒤 CDN에 저장
  • Cache Hit — CDN에 이미 있어 원본까지 가지 않고 바로 전달

원본 서버는 보통 없어지지 않습니다. CDN은 앞에서 전달을 돕는 역할이고, 없거나 갱신이 필요하면 원본이 필요합니다. (호스팅 = 본사 창고, CDN = 전국 물류망)

브라우저 캐시와는 다릅니다

브라우저 캐시내 기기 서랍, CDN 캐시는 동네 물류센터입니다. 둘을 함께 쓰면, 브라우저에 없으면 CDN에 묻고, 다음 방문에서는 브라우저 캐시만으로도 끝날 수 있습니다.

왜 빨라질까 · 무엇을 캐시할까

가까운 서버에서 주면 네트워크 지연을 줄일 수 있습니다. 해외뿐 아니라 국내에서도 원본 트래픽 분산·정적 파일 전달·갑작스러운 접속 분산에 도움이 됩니다. 로고·CSS·JS·웹폰트처럼 사용자마다 같은 정적 파일이 CDN에 잘 맞습니다. 마이페이지·장바구니처럼 개인화된 응답을 공유 캐시에 두면 위험합니다.

원본을 바꿨는데 예전 파일이 보일 때

원본을 수정해도 CDN 유효기간이 남아 있으면 옛 파일이 남을 수 있습니다. 이때 Purge(Invalidation)로 CDN 캐시를 지우거나, style.v2.css처럼 URL을 바꾸는 캐시 버스팅을 씁니다. 캐시 시간은 Cache-Control·Expires와 CDN 자체 설정을 함께 봐야 합니다. s-maxage로 공유 캐시 시간만 따로 둘 수도 있습니다.

내 PC만 옛 화면이면 브라우저 캐시, 다른 기기에서도 같으면 CDN·서버 쪽을 의심하는 식으로 좁혀 볼 수 있습니다.

로드밸런서 · DNS · HTTPS · 보안

  • 로드밸런서 — 본사 업무를 여러 직원에게 나눔 · CDN — 지역 물류센터
  • DNS로 도메인을 CDN으로 보내는 구성이 흔함(사용자 주소는 그대로일 수 있음)
  • 사용자↔CDN↔원본에 HTTPS를 둘 수 있음. DDoS 완화·WAF 등도 서비스마다 제공하지만 CDN만으로 자동 안전은 아님
  • 쿠키가 있는 로그인 요청은 캐시하지 않고 원본으로 보내는 식으로 정책을 나눕니다

무조건 필요할까 · 한계

방문자가 적고 서버가 가깝고 이미지가 적으면 CDN 없이도 충분할 수 있습니다. 해외·대용량·트래픽 급증이 있으면 이점이 커집니다. 큰 이미지를 CDN이 자동으로 작게 만들지는 않으므로 압축·적절한 크기도 필요합니다. CDN이 있어도 DB·로그인 같은 원본 부하는 남을 수 있고, CDN 장애·잘못된 캐시 설정도 있을 수 있습니다. SEO 순위를 직접 올리지는 않지만 전달 안정성에는 도움이 될 수 있습니다.


자주 묻는 질문

CDN이란?

콘텐츠를 여러 지역에 두고 가까운 서버에서 전달하는 시스템입니다.

브라우저 캐시와 같나요?

아닙니다. 브라우저는 기기, CDN은 네트워크상의 엣지 서버에 둡니다.

원본 서버가 필요 없나요?

아닙니다. Miss나 최신 파일이 필요하면 원본에서 가져옵니다.

쓰면 무조건 빨라지나요?

아닙니다. 위치·파일 크기·캐시 설정에 따라 효과가 달라집니다.


정리

원본 = 본사 창고 · CDN = 지역 물류센터 · Hit = 가까이 있음 · Miss = 본사에서 가져옴

CDN을 잘 쓰면 정적 파일을 원본이 매번 보내지 않아도 되어 속도와 서버 효율에 도움이 될 수 있습니다. 그런데 CDN을 쓰면 요청이 원본 IP로 바로 가지 않고 중간 서버를 한 번 거쳐 원본으로 가는 구조를 자주 봅니다. 이때 등장하는 개념이 프록시 서버(Proxy Server)입니다.