본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Cache Response Rules

원문 보기 위키 갱신

Cache Response Rules를 사용하면 요청 및 응답 속성에 기반해 캐시 설정을 구성할 수 있어요. 이 규칙들은 Cloudflare가 오리진 응답을 받은 후 실행되는 http_response_cache_settings 단계에서 캐싱 전에 실행돼요.

출처: 문서

본문

Cache Response Rules로 다음을 할 수 있어요:

  • 오리진이 보낸 Cache-Control 지시어를 수정해요.
  • 대상 캐시 제거(purge)를 위해 응답의 캐시 태그를 수정해요.
  • 오리진 응답에서 캐싱 전에 헤더(ETag, Set-Cookie, Last-Modified)를 제거해요.

Cache Response Rules는 오리진의 캐시된 응답과 캐시되지 않은(동적) 응답 모두에 적용돼요. 예를 들어 캐싱에 적합하지 않은 응답에서 Set-Cookie 헤더를 제거할 수 있어요.

Cache Response Rules는 대시보드, API, 또는 Terraform으로 만들 수 있어요.

참고 — Cache Response Rules는 도메인(또는 서브도메인)의 DNS 레코드를 Cloudflare를 통해 프록시해야 해요.

제공 범위

다음 표는 요금제별 Cache Response Rules 제공 범위를 설명해요.

Free Pro Business Enterprise
제공 여부 Yes Yes Yes Yes
규칙 수 10 25 50 300

문제 해결

Cache Response Rules 문제를 해결할 때는 Cloudflare Trace를 사용해 특정 URL에 대해 규칙이 트리거되는지 확인해요.

Cache Rules와의 관계

Cache Response Rules는 오리진 응답을 대상으로 하고, Cache Rules는 들어오는 요청을 대상으로 해요. 두 규칙 유형의 설정이 충돌하면 Cache Response Rules가 우선해요.

주요 차이점:

  • 캐시 적격성: 콘텐츠가 캐싱에 적합한지 결정하는 유일한 메커니즘은 여전히 Cache Rules예요. 하지만 Cache Response Rules는 set_cache_control 액션으로 no-store 지시어를 설정해 캐시 가능한 자산을 캐시 불가능하게 만들 수 있어요.
  • Origin Cache Control (OCC): http_response_cache_settings 단계에서 어떤 규칙이 일치하면 Cloudflare는 기본적으로 Origin Cache Control 동작(origin_cache_control = true)을 사용해요.
  • CDN-Cache-Control 우선순위: Cache Response Rules가 설정한 Cache-Control 지시어는 오리진이 설정한 Cloudflare-CDN-Cache-Control 및 CDN-Cache-Control 헤더보다 우선해요. 자세한 내용은 CDN-Cache-Control 헤더 우선순위를 참고해요.
  • 스태킹: Cache Response Rules는 Cache Rules와 같은 방식으로 스택돼요. 여러 규칙이 같은 설정을 지정하면 마지막으로 일치하는 규칙이 이겨요.

예시: Edge TTL보다 OCC가 우선

다음 시나리오를 생각해 봐요:

  1. Cache Rule이 Edge TTL을 override_origin으로 설정하고 값을 7200초(2시간)로 설정해요.
  2. Cache Response Rule이 set_cache_control을 사용해 s-maxage를 cloudflare_only 활성화 상태로 3600초(1시간)로 설정해요.
  3. 오리진이 Cache-Control: s-maxage=600으로 응답해요.

이 경우 Cache Response Rule이 우선해요. Cloudflare는 Cache Response Rule이 설정한 s-maxage 지시어에 따라 자산을 3600초(1시간) 동안 캐시해요. 한편 cloudflare_only가 활성화되어 있으므로 방문자는 오리진의 원래 s-maxage=600을 그대로 받아요.

Workers 및 Transform Rules와의 차이

Workers와 Response Header Transform Rules는 캐싱 결정이 이루어진 후에 실행되며, 응답이 캐시되는지 또는 어떻게 캐시되는지에 영향을 줄 수 없어요. 오리진 응답 헤더에 기반해 캐싱 동작을 수정할 수 있는 것은 Cache Response Rules뿐이에요.

오리진의 Cache-Control 지시어를 덮어써야 한다면(예: private 제거 또는 s-maxage 추가), Worker나 Transform Rule이 아니라 Cache Response Rule을 사용해요.

참고 사항

  • last modified를 제거하면 Smart Edge Revalidation이 꺼져요.
  • Cache Response Rules는 1xx HTTP 응답 상태 코드를 정보 제공용 응답으로 취급하므로 무시해요.
  • Cache Response Rules는 버전 관리될 수 있어요. 자세한 내용은 Version Management 문서를 참고해요.

더 알아보기 (Learn more)

Cache Response Rules는 오리진 응답을 기반으로 캐싱 동작을 수정하는 유일한 메커니즘이에요. 캐시 제어 지시어 수정, 캐시 태그 변경, 헤더 제거를 캐싱 전에 수행하며, Cache Rules와 충돌하면 우선해요.