CDN Cache Control

CDN 캐시 키, TTL, 무효화, 원본 보호 구조

CDN은 가까운 위치에서 빠르게 응답하는 것뿐 아니라 캐시 키와 TTL, stale 정책, 무효화, 원본 보호를 설계하는 계층입니다.

01

엣지 도착

사용자 요청이 가까운 CDN edge로 라우팅되고 캐시 키가 계산됩니다.

edge
02

캐시 조회

키가 일치하고 TTL이 유효하면 원본 서버 없이 바로 응답합니다.

hit
03

원본 요청

miss 또는 revalidate가 필요하면 origin으로 요청을 전달합니다.

miss
04

저장 정책 적용

Cache-Control, Surrogate-Control, Vary 기준으로 저장 가능성과 기간을 정합니다.

policy
05

무효화

배포나 콘텐츠 변경 시 purge, tag invalidation, versioned URL로 오래된 응답을 제거합니다.

invalidation
Static Asset
긴 TTL과 해시 URL 파일명이 바뀌면 새 리소스로 보이므로 오래 캐시해도 안전합니다.
immutable
HTML/API
짧은 TTL과 재검증 사용자별 응답은 캐시 키에 인증·쿠키가 섞이는지와 private 처리 여부를 먼저 확인합니다.
Vary 리스크
Purge
변경 즉시 반영 전체 purge는 쉽지만 비용이 크고, tag 기반 무효화는 설계가 필요합니다.
운영 절차

CDN 장애 예방

개인화 누출 쿠키나 Authorization이 있는 응답을 공용 캐시에 저장하지 않게 합니다.
캐시 키 폭증 불필요한 query와 header를 키에 포함하면 hit ratio가 급락합니다.
원본 보호 대규모 miss가 동시에 origin으로 몰리지 않도록 shield와 rate limit를 고려합니다.