라이프스타일

Cloudflare, Cache Rules에서 HTTP Vary 헤더 지원 발표… 모든 요금제에서 사용 가능

Cloudflare는 2026년 9월 22일 Cache Rules에서 HTTP Vary 헤더를 지원한다고 발표했다. Cloudflare를 쓰는 웹사이트 운영자는 각 요청 헤더가 캐시에 어떤 영향을 줄지 직접 정할 수 있다. 작동 방식, 세 가지 처리 동작, 일반 사용자에게 미치는 영향을 정리했다.

읽는 데 약 7분

Cloudflare, Cache Rules에서 HTTP Vary 헤더 지원 발표… 모든 요금제에서 사용 가능
사진: Mokaair (Original editorial artwork)

무슨 일이 있었나

Cloudflare는 2026년 9월 22일 Alex Krivit과 Zaidoon Abd Al Hadi가 작성한 블로그 글을 게시하고, HTTP Vary 응답 헤더 지원을 출시했다고 발표했다. Cloudflare는 이 기능이 현재 Cache Rules에서 제공되며 모든 요금제에 적용된다고 밝혔다. 글에서는 Vary가 한때 「the ugliest part of HTTP that we haven't yet improved.」라고 불렸다는 말을 인용하며, 이 헤더가 그동안 제대로 다루기 어려웠다는 점을 설명했다.

여기서 캐시란 한 번 받은 응답을 저장해 두었다가 같은 요청이 오면 다시 내주는 임시 저장소를 말한다. Cloudflare의 설명에 따르면 Vary는 표준 HTTP 응답 헤더다. 이 헤더는 중간 캐시(예: 전 세계 서버에 콘텐츠를 저장해 빠르게 전달하는 CDN)에 어떤 요청 필드가 오리진 서버의 응답에 영향을 줄 수 있는지 알려 준다. 웹사이트는 흔히 이를 이용해 같은 URL에서 서로 다른 언어, 이미지 형식, 압축 방식 또는 지역별 콘텐츠를 제공한다.

Cloudflare, Cache Rules에서 HTTP Vary 헤더 지원 발표… 모든 요금제에서 사용 가능
Mokaair 편집 검증 절차 · 사진: Mokaair (Original editorial artwork)
자세한 설명 보기

출처를 수집하고 독립적으로 검증한 뒤 Jev가 판단합니다.

Vary가 다루기 어려운 이유

Cloudflare는 예시를 들어 딜레마를 설명했다. 캐시가 Vary를 무시하면 같은 URL의 HTML 응답과 JSON 응답이 다른 클라이언트에 잘못 제공될 수 있다. 예컨대 API 클라이언트가 웹페이지 마크업을 받아 파싱하지 못할 수 있다. 반대로 캐시가 모든 원본 헤더 값을 서로 다른 것으로 취급하면, 몇 안 되는 비슷한 요청이 거의 재사용되지 않는 수천 개의 캐시 항목으로 흩어질 수 있다. 예를 들어 두 Accept-Language 값은 순서와 언어 태그가 다를 수 있다. Cloudflare 설명에 따르면 이 경우에도 둘 다 실제로는 영어를 선호하므로 오리진 서버는 같은 영어 응답을 반환할 수 있다. 그런데도 캐시는 원본 값이 다르다는 이유로 이를 따로 저장할 수 있다.

Cloudflare는 한 필드에 값이 10가지면 변형이 10개 생기고, 세 필드에 각각 10가지 값이 있으면 1,000가지 조합이 생길 수 있다고 지적했다. 이렇게 흩어진 변형은 여러 문제를 낳는다. 저장 용량을 차지하고, 서로를 캐시에서 밀어낸다. 또 캐시 적중률(요청을 캐시에서 바로 처리한 비율)을 떨어뜨리고, 더 많은 요청이 오리진 서버로 돌아가게 만든다. Cloudflare가 인용한 한 분석은 인기 웹사이트 약 50,000개의 응답 1억 2,000만 개 이상을 조사했다. 그 결과 약 3,000개 사이트가 네 개 이상의 필드에 따라 응답을 달리했고, 일부는 10개, 23개, 심지어 47개 필드에 이르렀다.

Cache Rules는 Vary를 어떻게 처리하나

Cloudflare는 새 설계가 결정을 두 부분으로 나눈다고 밝혔다. 오리진 서버는 Vary로 응답에 영향을 줄 수 있는 요청 헤더를 지정하고, Cache Rule은 Cloudflare가 각 헤더의 값을 어떻게 처리할지 결정한다. 오리진 서버가 Vary를 반환하지 않으면 Cloudflare는 평소대로 캐시한다. 개별 설정이 없는 헤더에는 규칙의 기본 동작이 적용된다.

Cloudflare Cache Rules에서 Vary를 처리하는 세 가지 동작(Cloudflare 공식 설명을 바탕으로 정리)
동작Cloudflare가 설명한 동작 방식Cloudflare가 권장하는 용도
normalize요청 헤더를 정규화(표기를 통일)한 뒤 캐시 변형을 선택해, 사실상 같은 요청이 캐시를 공유하게 함. Accept, Accept-Language, Accept-Encoding에는 전용 규칙 적용협상(negotiation, 브라우저가 밝힌 선호에 따라 응답을 고르는 방식) 계열 헤더의 권장 출발점. 다양한 요청 값이 소수의 응답에 대응하는 경우에 적합
passthrough요청 헤더의 원본 바이트로 캐시를 비교하며 대소문자, 공백, 순서, 중복 값을 그대로 유지값이 통제되고 정확한 값에 따라 응답이 달라지는 헤더
bypass오리진이 Vary에 해당 헤더를 나열하면 응답을 저장하지 않음. 기존 캐시는 제거되지 않음개인화된 헤더, 높은 카디널리티(가능한 값의 종류가 매우 많음)의 헤더 또는 예상치 못한 헤더

일반 독자와 사이트 관리자에게 미치는 영향

일반 인터넷 사용자에게 이런 변화는 대개 보이지 않는 곳에서 일어난다. 설정이 적절하면 사용자가 잘못된 언어나 형식의 콘텐츠를 받을 가능성이 줄고, 같은 응답이 캐시에서 더 잘 재사용될 수 있다. Cloudflare는 협상 콘텐츠를 처리하던 기존 방법에 각각 한계가 있었다고 밝혔다. 캐시 우회는 캐시를 포기해야 하고, 사용자 지정 캐시 키는 애플리케이션 로직을 중복해야 한다. Worker는 추가 코드가 필요하고, Vary for images는 좁은 용도에만 적용된다. Cloudflare는 새 기능이 그 사이의 공백을 메우려는 것이라고 밝혔다.

위 기능의 세부 사항과 효과는 모두 Cloudflare 자사 블로그에서 나온 단일 출처의 주장이다. 실제 효과는 각 사이트의 설정과 트래픽 형태에 따라 달라진다. 이 글은 사건 내용을 정리한 것일 뿐, 어떤 제품이나 서비스의 구매를 권유하지 않는다.

자주 묻는 질문

HTTP Vary 헤더란 무엇인가요?

Cloudflare 설명에 따르면 Vary는 표준 HTTP 응답 헤더로, 중간 캐시에 어떤 요청 필드가 오리진 서버의 응답에 영향을 줄 수 있는지 알려 줍니다. 같은 URL에서 서로 다른 언어, 이미지 형식, 압축 방식 또는 지역별 콘텐츠를 제공할 때 흔히 쓰입니다.

어떤 Cloudflare 요금제에서 이 기능을 쓸 수 있나요?

Cloudflare는 Cache Rules의 Vary 지원이 모든 요금제에 적용된다고 밝혔습니다.

내 사이트가 Vary를 보내지 않으면 어떻게 되나요?

Cloudflare는 오리진 서버가 Vary를 반환하지 않으면 평소대로 응답을 캐시한다고 밝혔습니다.

세 가지 동작 중 무엇부터 시작해야 하나요?

Cloudflare는 협상 계열 헤더는 normalize로 시작하라고 권장합니다. 값이 통제되고 정확한 값이 응답에 영향을 주는 경우에는 passthrough를 권합니다. 개인화되었거나 가능한 값이 매우 많거나 예상치 못한 헤더에는 bypass를 권합니다.

이러한 주장은 독립적으로 검증되었나요?

아닙니다. 이 글의 모든 정보는 Cloudflare 공식 블로그라는 단일 출처에서 나온 것으로, 해당 회사의 주장으로 봐야 합니다.

이 주제의 최신 뉴스 보기

최신 여행 소식·가이드

출처

라이프스타일