클라우드 컴퓨팅 및 데이터 센터

Cloudflare, 모든 요금제의 Cache Rules에서 HTTP 응답 변형 제어 지원

Cloudflare가 모든 요금제의 Cache Rules에 HTTP Vary 헤더 지원을 추가했으며, 헤더 값을 정규화하거나 원래 형태 그대로 전달하거나 캐싱을 우회하는 옵션을 제공한다. 이번 업데이트는 잘못된 응답을 방지하고 요청의 영향이 없는 차이로 인해 발생하는 캐시 분할을 줄이는 것을 목표로 한다.

2026-09-22
3 분 읽기
1 조회수
certi.news Editorial Team
Cloudflare, 모든 요금제의 Cache Rules에서 HTTP 응답 변형 제어 지원

Cloudflare는 Free, Pro, Business, Enterprise를 포함한 모든 요금제의 Cache Rules 기능에서 HTTP 응답 헤더 Vary를 지원한다고 발표했다. 이번 추가 기능을 통해 웹사이트 관리자는 언어, 이미지 형식, 콘텐츠 유형 또는 압축 방식의 차이처럼 동일한 리소스에 대해 여러 표현이 생성될 수 있는 요청을 네트워크가 처리하는 방식을 더욱 세밀하게 제어할 수 있다.

원본 서버는 Vary를 통해 응답에 영향을 줄 수 있는 요청 헤더를 지정하지만, 해당 헤더는 그 값 사이의 모든 텍스트 차이가 실제로 서로 다른 응답으로 이어지는지는 설명하지 않는다. 따라서 캐시 시스템은 서로 유사한 값을 독립적인 버전으로 처리할 수 있으며, 이로 인해 콘텐츠가 재사용률이 낮은 많은 항목으로 분할될 수 있다.

차이를 처리하는 세 가지 방식

Cloudflare는 원본이 Vary에 지정한 각 헤더에 대해 다음 세 가지 작업 중 하나를 선택할 수 있도록 한다.

  • normalize: 저장된 버전을 선택하기 전에 값을 정규화한다. 많은 값이 제한된 수의 응답으로 수렴하는 Accept, Accept-Language, Accept-Encoding 같은 콘텐츠 협상 헤더에 권장되는 옵션이다.
  • passthrough: 대소문자, 공백, 순서 및 중복 값을 포함한 원시 값을 사용한다. 정확한 차이가 응답에 영향을 미치는 경우에 사용한다.
  • bypass: Cookie 또는 User-Agent처럼 Vary에 지정된 헤더가 개인별이거나 다양성이 높은 경우 응답을 저장하지 않는다.

Vary: *는 항상 캐시를 우회한다. IP 주소처럼 HTTP 메시지 외부의 정보를 포함해 요청의 어떤 부분이든 원본의 응답 선택에 영향을 줄 수 있기 때문이다.

실제로 무엇이 달라지는가?

정규화를 사용하면 형식은 다르지만 동일한 결과를 선호하는 요청이 저장된 버전을 공유할 수 있다. Cloudflare는 Accept, Accept-Language, Accept-Encoding 값을 통일된 형식으로 줄인다. 값은 소문자로 변환되고 품질 우선순위에 따라 정렬되며, 우선순위가 같으면 알파벳순으로 정렬된다. 또한 관리자는 text/html 및 application/json 같은 미디어 유형이나 en, fr, de 같은 지원 언어를 지정할 수 있다.

그러나 이 동작은 원본이 필요로 하는 차이를 제거할 수 있다. Cloudflare는 축약 과정에서 q=0 값이나 일부 언어 예외가 사라질 수 있다고 설명하므로, 원본이 클라이언트가 전송한 이러한 제외 항목을 그대로 확인해야 한다면 passthrough를 사용해야 한다. 또한 원시 값을 그대로 전달하면 분할 문제가 다시 발생할 수 있다. 예를 들어 compact,fullcompact, full은 원본이 두 값을 동일한 것으로 처리하더라도 서로 다른 캐시 키를 생성할 수 있다.

원본의 책임과 업데이트의 한계

원본은 요청 헤더에 따라 달라질 수 있는 모든 캐시 가능 응답에 대해, 예비 응답과 오류를 포함하여 Vary를 일관되게 반환해야 한다. 적절한 헤더를 누락한 응답이 하나라도 있으면 Cloudflare가 필요한 격리 없이 해당 응답을 저장할 수 있다.

Vary 설정을 변경해도 기존 콘텐츠가 자동으로 삭제되지는 않는다. 기존 항목은 만료되거나 purge 작업이 실행될 때까지 남아 있을 수 있다. 또한 Vary 설정이 모든 경우에 사용자 지정 캐시 키를 대체하는 것은 아니다. Cloudflare는 요청의 속성이 리소스 식별의 고정된 일부인 경우 사용자 지정 키를 사용하고, 원본이 응답을 통해 실제로 영향을 받는 필드를 알리는 경우에는 Vary를 사용할 것을 권장한다.

이 소식이 중요한 이유

이번 업데이트는 CDN에서 발생하는 실질적인 상충 문제를 해결한다. Vary를 무시하면 잘못된 형식이나 언어가 클라이언트에 전달될 수 있는 반면, 모든 값을 문자 그대로 처리하면 캐시 적중률이 낮아지고 원본으로 돌아가는 요청이 증가할 수 있다. 이 자료에 따르면 약 5만 개의 인기 웹사이트에서 수집한 1억 2천만 건 이상의 응답을 분석한 결과, 약 3천 개 사이트가 4개 이상의 필드를 통한 변형을 사용하고 있었으며, 일부 사이트는 10개, 23개 또는 47개 필드를 사용하고 있었다.

이점은 원본이 제공하는 표현을 얼마나 정확하게 정의하는지와 각 헤더에 적절한 작업을 선택하는지에 달려 있다. 설정은 Cloudflare 대시보드, Rulesets API 또는 Terraform에서 이용할 수 있으며, 배포 후 다양한 값을 테스트하고 CF-Cache-Status를 모니터링해야 한다.

뉴스 출처
Cloudflare Blog
원문 보기 ↗
c
작성자

certi.news Editorial Team

같은 카테고리

추천 기사

모든 뉴스 보기