Save-Data

The Save-Data header field is a boolean which, in requests, indicates the client's preference for reduced data usage. This could be for reasons such as high transfer costs, slow connection speeds, etc.

A value of On indicates explicit user opt-in into a reduced data usage mode on the client, and when communicated to origins allows them to deliver alternative content to reduce the data downloaded such as smaller image and video resources, different markup and styling, disabled polling and automatic updates, and so on.

Note: Disabling HTTP/2 Server Push (RFC 7540, section 8.2: Server Push) might be desirable too for reducing data downloads.

Syntax

Save-Data: <sd-token>

Directives

<sd-token>
A numerical value indicating whether the client wants to opt in to reduced data usage mode. on indicates yes, while off (the default) indicates no.

Examples

The Vary header ensures that the content is cached properly (for instance ensuring that the user is not served a lower-quality image from the cache when Save-Data header is no longer present [e.g. after having switched from cellular to Wi-Fi]).

With Save-Data: on

Request:

GET /image.jpg HTTP/1.0
Host: example.com
Save-Data: on

Response:

HTTP/1.0 200 OK
Content-Length: 102832
Vary: Accept-Encoding, Save-Data
Cache-Control: public, max-age=31536000
Content-Type: image/jpeg

[...]

Without Save-Data

Request:

GET /image.jpg HTTP/1.0
Host: example.com

Response:

HTTP/1.0 200 OK
Content-Length: 481770
Vary: Accept-Encoding, Save-Data
Cache-Control: public, max-age=31536000
Content-Type: image/jpeg

[...]

Specifications

Specification Title
draft-grigorik-http-client-hints-03, section 7: Save-Data HTTP Client Hints

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Save-Data
Experimental
Chrome Full support 49Edge Full support ≤79Firefox ? IE ? Opera Full support 35Safari ? WebView Android Full support 49Chrome Android Full support 49Firefox Android ? Opera Android Full support 35Safari iOS ? Samsung Internet Android Full support 5.0

Legend

Full support
Full support
Compatibility unknown
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

See also