Front-End

CDN(Content Delivery Network)

Minch13r 2025. 8. 6. 09:27

CDN(Content Delivery Network, 콘텐츠 전송 네트워크)이란?

  •  웹 콘텐츠를 세계 곳곳에 있는 여러 서버에 분산하여 저장하는 분산 서버 네트워크 시스템

쓰는 이유?

  • 전 세계 어디에 있든지 이미지, 영상 등 웹 콘텐츠를 사용자에게 빠르게 전달 가능
  • 서버와 최종 사용자의 물리적 거리를 줄여서 웹 서비스의 성능, 속도, 신뢰성을 향상시키고 서버의 부하를 최소화하는 것

동작방식

  1. 초기 설정 과정
    1. 원본 서버 연결 : 웹사이트 소유자가 CDN 서비스에 가입하고 오리진 서버에 CDN 연결
    2. DNS 설정 변경 : 웹사이트의 DNS 설정을 수정해 트래픽을 CDN으로 라우팅
    3. 컨텐츠 복제 : CDN은 원본 서버의 정적 컨텐츠(이미지, CSS, JS 파일 등)를 전세계 엣지 서버에 복사
  2. 사용자 요청 처리 과정
    1. 사용자 요청 발생 : 사용자가 웹사이트에 접속하면 브라우저가 DNS 서버에 도메인 이름 조회 요청
    2. CDN 라우팅 : DNS가 CDN의 IP 주소를 반환하고, 사용자 요청은 CDN으로 전달
    3. 최적 서버 선택 : CDN은 사용자의 위치, 서버 부하, 네트워크 사앹 등을 고려해 최적의 엣지 서버 선택
    4. 캐시 확인 : 선택된 엣지 서버는 요청된 컨텐츠가 캐시에 있는지 확인
      • 캐시 히트 : 컨텐츠가 캐시에 있으면 즉시 사용자에게 전달
      • 캐시 미스 : 컨텐츠가 없으면 원본 서버에서 가져와 사용자에게 전달하고, 캐시에 저장

CDN의 주요 이점

  • 속도 향상 : 페이지 로드 시간 최대 50 ~ 70% 감소
  • 비용 절감 : 원본 서버의 대역폭 사용량이 감소해 호스팅 비용 절약
  • 가용성 증가 : 한 서버가 다운되어도 다른 서버에 요청 및 처리 가능
  • 보안 강화 : 트래픽 암호화와 DDOS 방어 기능 제공

'Front-End' 카테고리의 다른 글

[React] 클래스형 컴포넌트와 함수형 컴포넌트  (0) 2025.05.10
[React] state  (0) 2025.05.04
[React] Components와 Props  (1) 2025.05.02
[React] JSX  (1) 2025.05.01
[JavaScript] JQuery  (1) 2025.03.08