Vary
헤더는 캐시 된 응답을 향후 요청들에서 오리진 서버로 새로운 요청 헤더를 요청하는 대신 사용할 수 있는지 여부를 결정합니다. 이것은 서버에서 컨텐츠 협상 알고리즘에 어떤 리소스를 선택을 할 것인지를 가르킵니다.
Vary
헤더는 200
OK
응답과 동일하게 304
Not Modified
응답에서도 설정 되어야 합니다.
Header type | Response header |
---|---|
Forbidden header name | no |
문법
Vary: * Vary: <header-name>, <header-name>, ...
지시자
- *
- 각 요청에 대해서 유일하며 캐시 할 수 없는 요청으로 간주합니다.
이보다 더 좋은 방법으로Cache-Control
:no-store
, 를 사용 하는것이 객체를 저장하면 안된다는 의미로 좀더 명확하게 표시되고 읽을 수 있습니다. - <header-name>
- 헤더 이름은 쉼표로 구분되며 캐시 된 응답을 사용할 수 있는지 여부를 결정할 때 사용 됩니다.
예제
동적 제공
Vary: User-Agent
헤더를 사용시 캐싱 서버는 캐시된 페이지를 응답할지 여부를 User-Agent 로 고려해야합니다. 예를 들어, 모바일 유저에게 다른 컨텐츠를 제공해야 할 경우, 모바일 유저에게 데스크탑 유저를 위한 캐시 컨텐츠가 제공 되는것을 피할 수 있습니다. 구글이나 다른 검색 엔진등 에서 모바일 버전을 발견 할수 있는데 도움이 되며, 클로킹이 의도되지 않는다고 볼 수도 있습니다.
Vary: User-Agent
기술 사양
기술 사양 | 제목 |
---|---|
RFC 7231, section 7.1.4: Vary | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
브라우저 호환성
BCD tables only load in the browser
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.