개발·운영성능·인프라 · 약 8분

APP DEVELOPMENT TERM

캐시·CDN

자주 쓰는 응답을 가까이 보관하는 전달 구조

캐시는 한 번 받은 결과를 다시 쓰기 위해 보관하는 방식이고, CDN은 여러 지역의 가까운 서버에서 이미지·파일 같은 콘텐츠를 전달하는 네트워크로 캐시를 활용해 속도와 원본 서버 부담을 줄입니다.

Cache콘텐츠 전송 네트워크Content Delivery Network엣지 캐시브라우저 캐시

30초 이해

캐시는 같은 일을 반복하지 않게 결과를 잠시 보관하고 CDN은 그 결과를 사용자와 가까운 여러 지점에서 전달합니다

사용자가 같은 이미지나 파일을 볼 때마다 원본 서버가 처음부터 처리하면 거리와 요청량에 따라 느려지고 비용이 늘 수 있습니다. 브라우저·서버·CDN 캐시는 재사용 가능한 응답을 보관해 더 가까운 곳에서 빠르게 제공합니다.

하지만 모든 데이터를 오래 보관하면 안 됩니다. 회원별 정보, 결제 상태와 실시간 재고처럼 자주 바뀌거나 민감한 응답은 공유 캐시에 섞이지 않게 해야 합니다. 무엇을 얼마나 보관할지, 변경 때 언제 지울지와 최신 여부를 확인하는 규칙이 성능만큼 중요합니다.

한 장으로 이해

원본 응답을 캐시와 CDN에서 재사용하고 갱신하는 과정

처음 요청은 원본에서 받아 정책에 맞게 보관하고 이후 요청은 가까운 캐시에서 제공한 뒤 만료·변경 시 새로 확인합니다.

  1. 01

    원본 응답

    서버가 이미지·파일·페이지 또는 API 결과를 처음 만듭니다.

  2. 02

    보관 정책

    공유 가능 여부와 보관 시간, 구분 기준을 헤더·설정으로 정합니다.

  3. 03

    가까운 곳에서 제공

    브라우저나 CDN이 재사용 가능한 결과를 빠르게 전달합니다.

  4. 04

    만료·갱신

    시간이 지나거나 내용이 바뀌면 원본을 다시 확인하거나 캐시를 지웁니다.

속도 개선만 보고 캐시를 늘리기보다 개인정보, 최신성이 중요한 데이터와 배포 후 갱신 방법을 콘텐츠 종류별로 정해야 합니다.

언제 사용하는 개념인가요?

01

이미지·영상·파일을 빠르게 전달할 때

지역별 CDN 지점에서 정적 콘텐츠를 제공해 먼 원본 서버까지 가는 시간을 줄입니다.

02

반복 API 요청을 줄일 때

모두에게 같은 공개 데이터처럼 재사용 가능한 응답을 짧게 보관해 서버와 외부 API 부담을 낮춥니다.

03

배포 뒤 최신 파일을 반영할 때

파일 이름·버전을 바꾸거나 캐시를 비워 사용자가 이전 화면을 계속 보는 문제를 줄입니다.

왜 중요한가요?

  • 사용자가 느끼는 로딩 시간을 줄입니다

    이미 받은 결과나 가까운 지점의 콘텐츠를 사용해 첫 화면과 반복 방문을 빠르게 만듭니다.

  • 원본 서버와 네트워크 부담을 낮춥니다

    동일한 요청을 매번 처리하지 않아 요청 급증과 전송 비용에 대응하기 쉬워집니다.

  • 최신성과 개인정보 위험을 통제합니다

    공개·개인 응답을 구분하고 만료·재검증·삭제 기준을 정해 오래된 정보와 사용자 간 노출을 막습니다.

실제 상황 예시

전국 사용자가 보는 클래스 예약 앱이라면

변경 빈도와 개인정보 여부에 따라 각 콘텐츠의 캐시 방식을 다르게 정합니다.

오래 재사용할 콘텐츠

  • 버전이 붙은 로고·아이콘·앱 스크립트
  • 공개 강사 프로필 이미지
  • 이용 안내 PDF와 소개 영상
  • 변경 시 새 주소를 쓰는 정적 파일

짧게 보거나 보관하지 않을 정보

  • 로그인한 사용자의 예약 내역
  • 결제·환불 처리 상태
  • 실시간 잔여 좌석
  • 관리자 권한과 개인정보 응답

같은 URL에서 파일 내용만 바꾸면 이전 캐시가 남을 수 있으므로 파일 버전과 캐시 삭제·재검증 방법을 배포 절차에 포함해야 합니다.

자주 하는 오해

CDN을 쓰면 모든 페이지가 자동으로 빨라진다

CDN은 전달 거리와 원본 부담을 줄이지만 느린 데이터베이스 쿼리나 무거운 화면 코드를 자동으로 해결하지는 않습니다.

캐시 시간은 길수록 좋다

변경되지 않는 파일에는 유리하지만 실시간·개인 데이터는 오래된 정보와 노출 위험이 생깁니다. 콘텐츠별 정책이 필요합니다.

새로고침하면 언제나 최신 파일이 보인다

브라우저·CDN·서비스 내부 여러 캐시가 있을 수 있습니다. 버전이 붙은 파일명과 명확한 갱신 절차가 필요합니다.

우리 서비스에 적용할 때 확인하세요

  1. 1어떤 이미지·파일·API 응답을 공유 캐시에 보관하나요?
  2. 2회원별·개인정보 응답이 다른 사용자에게 재사용되지 않게 했나요?
  3. 3콘텐츠별 보관 시간과 최신 여부 확인 기준이 있나요?
  4. 4배포·내용 수정 때 캐시를 갱신하거나 새 주소를 쓰나요?
  5. 5CDN 장애나 잘못된 캐시를 원본으로 우회·삭제할 방법이 있나요?

공식 참고

서비스 기준은 공식 문서에서 다시 확인하세요

다음 자료

이해한 내용을 바로 적용해보세요

캐시로 줄일 수 있는 API 호출 제한, 안전한 전달을 위한 HTTP·HTTPS와 원본 서버가 위치하는 호스팅을 이어서 확인하세요.

빠르게 보여줄 정보와 항상 최신이어야 할 정보를 먼저 나누세요

콘텐츠별 공개 범위·변경 빈도·보관 시간·갱신 방법을 정하면 속도를 높이면서 개인정보와 오래된 정보 위험을 줄일 수 있습니다.