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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Vary

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

See also