Vary

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

The HTTP Vary response header describes the parts of the request message (aside from the method and URL) that influenced the content of the response it occurs in. Including a Vary header ensures that responses are separately cached based on the headers listed in the Vary field. Most often, this is used to create a cache key when content negotiation is in use.

The same Vary header value should be used on all responses for a given URL, including 304 Not Modified responses and the "default" response.

Header type Response header
Forbidden header name No

Syntax

Either * as a wildcard, or one or more header names in a comma-separated list:

http
Vary: *
Vary: <header-name>, …, <header-nameN>

Directives

* (wildcard)

Factors other than request headers influenced the generation of this response. Implies that the response is uncacheable.

<header-name>

A request header name that could have influenced the generation of this response.

Specifications

Specification
HTTP Semantics
# field.vary

Browser compatibility

BCD tables only load in the browser

See also