| GaonIT Cloud — 호스팅 & 클라우드
가온IT

캐시·CDN 최적화

개발자가 사랑하는 호스팅 & 클라우드. 지금 바로 시작하세요.

솔루션웹·API·미디어

캐시·CDN 최적화

정적/동적 콘텐츠 캐시 전략, 엣지 라우팅, 이미지/압축 최적화, 무효화 자동화, 보안(디도스보호·프록시)까지 한 번에. 오리진 부하를 줄이고 TTFB를 낮춥니다. 요금은 별도문의로 안내합니다.

🚀 TTFB & HIT 비율 개선
오리진 앞 레이어에 정책 캐시를 배치해 HIT 비율↑, 오리진 RPS↓.
🧠 동적 캐시
stale-while-revalidate, stale-if-error, 키 정규화로 API/HTML도 안전하게 캐싱.
🧹 무효화 자동화
태그/프리픽스/경로 단위 퍼지와 버전 해시로 즉시 반영.
🛡️ 보안
TLS/HSTS, 서명 URL, 레이트 제한 및 디도스보호(프록시) 연동.
권장 캐시 전략(예시)
콘텐츠 TTL 엣지 정책 비고
정적 에셋(CSS/JS) 1년 + immutable 버전 해시(/app.hash.js) 무효화는 재배포로 대체
이미지(웹/앱) 30일 AVIF/WebP 변환, Vary: Accept 원본 보호, 리사이즈 파이프라인
HTML(SSR) 60초 stale-while-revalidate=30 로그인/맞춤은 no-store
API GET 120초 키 정규화, s-maxage 토큰/세션 키 제외
API POST/PUT - no-store 멱등 아웃 캐시만
다운로드(큰 파일) 7일 범위 요청 허용 오리진 보호(전용 도메인)
* 실제 TTL은 변동/데이터 민감도에 따라 조정합니다.
캐시/프록시 헤더 가이드
Cache-Controlmax-age, s-maxage, stale-while-revalidate, stale-if-error, immutable
VaryAccept, Accept-Encoding, Cookie(최소화)
Etag/Last-Modified — 재검증 및 조건부 요청 최적화
Surrogate-Control — 엣지 전용 정책(옵션)
예시: NGINX 오리진
location /static/ {
  add_header Cache-Control "public, max-age=31536000, immutable";
}
location /img/ {
  add_header Vary "Accept";
  add_header Cache-Control "public, max-age=2592000";
}
location /api/ {
  if ($request_method = GET) {
    add_header Cache-Control "public, s-maxage=120, stale-while-revalidate=30, stale-if-error=600";
  }
  if ($request_method != GET) {
    add_header Cache-Control "no-store";
  }
}
예시: HTML(SSR) 헤더
Cache-Control: public, s-maxage=60, stale-while-revalidate=30\nETag: W/"abc123"\nVary: Accept-Encoding
엣지 최적화 포인트
항목 설명 비고
캐시 키 정규화 쿼리스트링/헤더 중 캐시 영향 요인만 포함 AB 테스트 파라미터 제외
Origin Shield 중간 캐시 계층으로 오리진 보호 리전 중앙화
지리/지연 라우팅 가까운 POP로 라우팅 국가/ASN 기반 정책
Signed URL/쿠키 다운로드/미디어 접근 제어 만료·IP 바인딩
이미지/압축 최적화
포맷 — AVIF/WebP 우선, 원본 폴백. Vary: Accept로 협상.
리사이즈 — 쿼리 기반(예: ?w=800), 엣지 워커/함수로 처리.
압축br/gzip 동시 지원, Vary: Accept-Encoding.
프리로드 — 핵심 CSS/폰트 Link: rel=preload.
HTTP/2 — 헤더 압축/멀티플렉싱.
큰 파일 — 범위 요청, 청크 업로드.
자동 무효화(예: Tag/PREFIX)
# 예시: 태그 기반 퍼지 (개념 예)
POST https://cdn.example.com/api/purge
Authorization: Bearer $TOKEN
Content-Type: application/json
{
  "type": "tag",
  "values": ["post:123", "layout:main"]
}
버전 해시 배포
/assets/app.2f9c1b8.js  # 파일명에 컨텐츠 해시 포함
Cache-Control: public, max-age=31536000, immutable
보안(요약)
항목내용비고
TLS/HSTSTLS 1.2+, HSTS + preload 권장인증서 자동 갱신
서명 URL다운로드/미디어 보호짧은 만료
레이트 제한경로/토큰별 임계봇/스크래핑 대응
디도스보호(프록시)L3~L7 보호 연동엣지 차단
관측/튜닝 지표
HIT Ratio — 전체/경로별
TTFB/지연 p95 — 엣지/오리진
오리진 RPS/대역폭 — 보호 효과
4xx/5xx 분포 — 경로/AS 별
캐시 왜곡 — 키/헤더 VARIANCE
퍼지 이벤트 — 태그/경로별 추적
실행 체크리스트
정책
  • 정적/동적 구간 분리 및 도메인 분리(origin vs assets)
  • Cache-Control/Vary/ETag 표준화
  • 키 정규화(쿼리/헤더) 설계
  • 버전 해시 파이프라인(CI/CD) 구성
운영
  • 퍼지 API/권한 토큰 관리
  • 장애 시 stale-if-error 적용
  • 보안: 서명 URL, 디도스보호(프록시)
  • 대시보드: HIT, 오리진 RPS, 에러율
캐시·CDN 최적화로 더 빠른 경험을
정책 설계 → 헤더/키 표준화 → 무효화 자동화 → 관측/튜닝까지 지원합니다.