신규 고객모든 신규 계정에 DNS와 CDN 무료 요금제를 제공합니다.계정 만들기

캐시 및 캐시 삭제

엣지 캐시, 브라우저 캐시, 캐시 키, 네거티브 캐시를 구성하고 URL, 와일드카드 또는 사이트 전체를 기준으로 캐시를 삭제합니다.

6 분 소요 업데이트 2026년 10월 20일

캐시 설정은 사이트 상세 페이지(/cdn/domains/<domain>/cache)의 캐시 탭에 있습니다. 설정은 사이트의 모든 호스트 이름에 적용됩니다. 변경 후 하단의 설정 저장을 클릭합니다. 새 콘텐츠를 즉시 반영하려면 오른쪽 상단의 캐시 삭제를 사용합니다.

엣지 캐시

설정설명
엣지 캐시자동: 원본 서버의 응답 헤더에 따라 캐시합니다. 활성화: 캐시를 활성화합니다. 비활성화: 엣지에 아무것도 캐시하지 않습니다.
원본 서버 장애 시 만료된 캐시 반환원본 서버에서 시간 초과가 발생하거나 500/502/503/504를 반환하면 엣지는 오류 페이지 대신 만료된 캐시 사본을 제공합니다. 기본적으로 활성화되어 있습니다.
캐시 시간 모드캐시 유효 기간을 결정하는 방식입니다. 다음 표를 참조하십시오.
캐시 시간(초)TTL 모드에서 사용하는 설정값입니다. 바로가기 버튼을 누르면 1 hour, 1 day 또는 7 days가 입력됩니다.

캐시 TTL 모드:

모드동작
원본 서버 설정 또는 기본값 따름원본 서버의 Cache-Control / Expires 헤더에 지정된 유효 기간을 사용합니다. 원본 서버에서 제공하지 않으면 설정값을 사용합니다.
고정원본 서버의 값을 무시하고 항상 설정값을 사용합니다.
원본 서버 설정 따름원본 서버를 엄격하게 따릅니다. 원본 서버에서 응답을 캐시 가능으로 표시하지 않으면 캐시하지 않습니다.
최솟값 사용 / 최댓값 사용원본 서버의 유효 기간과 설정값 중 더 작거나 더 큰 값을 사용합니다. 원본 서버에서 제공하지 않으면 설정값을 사용합니다.

파일 유형별 캐시

파일 유형별 캐시에서 파일 확장자별 유효 기간을 설정할 수 있습니다. 예를 들어 jpg,png,gif에 7 days를 설정할 수 있습니다. 엣지는 원본 서버 응답에 명시적인 유효 기간이 없을 때(max-age, s-maxage, Expires가 없을 때) 이 값을 적용합니다. 원본 서버가 유효 기간을 설정한 경우 원본 서버의 값이 우선합니다.

캐시하지 않는 응답

다음 응답은 설정과 관계없이 엣지 캐시에 저장되지 않습니다.

  • 원본 서버에서 Cache-Control: no-store 또는 private를 포함하여 보낸 응답
  • 쿠키를 설정하는 응답(Set-Cookie)
  • Range 요청에 대한 206 Partial Content 응답
  • GET 및 HEAD 이외의 메서드를 사용하는 요청

브라우저 캐시

브라우저 캐시는 엣지가 브라우저용 Cache-Control 헤더를 추가할지 제어합니다.

  • 활성화: 엣지가 실제로 캐시한 응답에는 Cache-Control: public, max-age=<edge TTL>을 추가합니다. 단, 원본 서버가 Cache-Control을 보내지 않은 경우에만 추가합니다. 엣지 TTL은 엣지 자체가 응답을 보관하는 기간이므로 브라우저의 유효 기간도 엣지와 같아집니다.
  • 자동 또는 비활성화: 엣지가 브라우저 캐시 헤더를 추가하지 않습니다.

원본 서버의 Cache-Control은 항상 변경 없이 브라우저에 전달됩니다. 엣지는 다음 경우에 브라우저 캐시 헤더를 추가하지 않습니다.

  • 동적 API 등 엣지가 캐시하지 않은 응답
  • GET 및 HEAD 이외의 메서드를 사용하는 요청
  • 상태 코드가 400 이상인 응답
  • 쿠키를 설정하는 응답

이를 통해 동적 콘텐츠가 브라우저 캐시에 남는 것을 방지합니다.

팁

정적 리소스의 브라우저 캐시 유효 기간을 길게 설정하는 가장 확실한 방법은 원본 서버가 해당 리소스에 대해 명시적인 Cache-Control: max-age=...를 전송하도록 하는 것입니다.

캐시 키

캐시 키는 어떤 요청이 같은 캐시 사본을 공유할지 결정합니다. 이 섹션 하단의 미리보기에서 현재 설정에 따른 키 구성을 확인할 수 있습니다.

쿼리 문자열 처리 모드:

모드동작예시
표준모든 쿼리 매개변수를 그대로 유지합니다?a=3과 ?a=4를 별도로 캐시합니다
무시모든 쿼리 매개변수를 무시합니다?a=3과 ?a=4가 하나의 사본을 공유합니다
정렬모든 매개변수를 유지하고 이름순으로 정렬합니다?b=2&a=1과 ?a=1&b=2가 하나의 사본을 공유합니다
허용 목록나열된 매개변수만 유지합니다id,page
차단 목록나열된 매개변수를 제외합니다utm_source,utm_medium,ref

매개변수 이름은 쉼표로 구분합니다.

다음 기준으로 캐시를 구분할 수도 있습니다.

  • 기기 유형별 구분: 모바일과 데스크톱에 별도의 사본을 사용합니다.
  • 국가별 구분: 방문자의 국가 또는 지역별로 별도의 사본을 사용합니다.
  • 언어별 구분: Accept-Language별로 별도의 사본을 사용합니다.
  • 캐시 호스트 모드: 키에 포함할 호스트 이름을 선택합니다.
    • 원본 요청: 방문자가 요청한 Host입니다. 기본값입니다.
    • 분석 후: 사이트와 일치한 호스트 이름입니다.
    • Host 헤더: 원본 서버 요청에 사용하는 Host입니다.
참고

기준을 추가할 때마다 하나의 URL이 여러 캐시 사본으로 나뉠 수 있으며, 캐시 적중률이 낮아집니다. 필요한 기준만 활성화하십시오.

고급 캐시 및 네거티브 캐시

설정설명
상태 코드별 캐시(네거티브 캐시)404 또는 301과 같은 특정 상태 코드의 캐시 유효 기간을 seconds 단위로 설정합니다. 다른 모든 TTL 설정보다 우선하며, 오류 응답으로 인해 원본 서버에 요청이 반복되는 것을 방지합니다.
min_ttl / max_ttl최종 캐시 유효 기간의 하한과 상한입니다. 0은 제한 없음을 의미합니다.
stale_if_error원본 서버에 장애가 발생했을 때 만료된 콘텐츠를 계속 제공할 기간을 seconds 단위로 지정합니다.
Authorization이 있으면 캐시하지 않음Authorization 헤더가 있는 요청은 캐시를 건너뛰고 원본 서버로 전달합니다.
클라이언트 no-cache 준수Cache-Control: no-cache가 있는 요청은 캐시를 건너뜁니다.
캐시를 우회할 세션 Cookiesession 또는 token처럼 목록에 있는 쿠키가 하나라도 포함된 요청은 캐시를 건너뜁니다.

원본 서버 보호(Origin Shield)

원본 서버 최대 동시 연결 수는 하나의 사이트에서 원본 서버로 동시에 전송하여 처리 중인 요청 수를 제한합니다. 0은 제한 없음을 의미합니다.

제한을 초과하면 **한도 초과 동작(단계별)**의 작업이 순서대로 적용됩니다.

  1. cache_first: 캐시에서 제공합니다.
  2. queue: 대기열에서 기다립니다. 대기열 길이와 최대 대기 시간을 milliseconds 단위로 설정합니다.
  3. challenge: 사람 확인 절차를 표시합니다.
  4. block: 요청을 차단하고 설정한 Retry-After 시간을 반환합니다.

처리 용량이 제한된 원본 서버를 보호하는 데 사용합니다.

캐시 삭제

캐시 설정을 변경해도 이미 캐시된 콘텐츠는 만료되지 않습니다. 엣지가 원본 서버에서 최신 콘텐츠를 가져오도록 하려면 다음과 같이 진행합니다.

  1. 캐시 탭 오른쪽 상단의 캐시 삭제를 클릭합니다. 도메인 목록과 개요 탭에서도 한 번의 클릭으로 사이트 전체 캐시를 삭제할 수 있습니다.
  2. 삭제 유형을 선택합니다.
    • 전체 사이트 캐시 삭제: 사이트의 모든 캐시 콘텐츠를 삭제합니다.
    • URL별 삭제: 한 줄에 하나의 URL을 입력합니다. 전체 URL(https://example.com/css/app.css) 또는 경로(/css/app.css)를 사용할 수 있습니다.
  3. 삭제 확인을 클릭합니다.

URL별 삭제 시 일치 조건은 다음과 같습니다.

  • 쿼리 문자열이 있는 경우(예: /list?page=2): 해당 매개변수 조합의 사본만 삭제합니다. 일치 여부를 확인하기 전에 사이트의 쿼리 문자열 모드에 따라 쿼리를 정규화합니다.
  • 쿼리 문자열이 없는 경우(예: /list): 해당 경로의 모든 쿼리 문자열 변형을 삭제합니다.
  • 와일드카드: 패턴으로 삭제하려면 *가 포함된 줄을 하나 입력합니다. 예를 들어 https://example.com/static/*는 해당 디렉터리 아래의 모든 콘텐츠를 삭제합니다. *가 포함된 줄이 두 개 이상이면 요청은 사이트 전체 캐시 삭제로 처리됩니다.

캐시 삭제 요청은 백그라운드에서 모든 엣지 노드에 전달되며 보통 수 초 내에 완료됩니다. 이후 X-Cache-Status 응답 헤더를 curl -I로 확인합니다. 첫 번째 요청에는 MISS가 표시되어야 합니다.

경고

사이트 전체 캐시를 삭제한 직후에는 모든 요청이 원본 서버로 전달되므로 원본 서버의 부하가 눈에 띄게 증가합니다. 몇 개의 파일만 변경했다면 해당 URL의 캐시만 삭제하십시오.

관련 문서

이 페이지가 도움이 되었습니까?