Save-Data

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Der HTTP Save-Data Anforderungsheader ist ein Netzwerk-Client-Hinweis, der die Präferenz des Clients für eine reduzierte Datennutzung anzeigt. Dies könnte aus Gründen wie hohen Transferkosten, langsamen Verbindungsgeschwindigkeiten usw. geschehen.

Save-Data ist ein Hinweis mit geringer Entropie und kann daher vom Client gesendet werden, auch wenn er nicht vom Server mit einem Accept-CH Antwort-Header angefordert wird. Darüber hinaus sollte er verwendet werden, um die an den Client gesendeten Daten zu reduzieren, unabhängig von den Werten anderer Client-Hinweise, die die Netzwerkfähigkeit anzeigen, wie Downlink und RTT.

Ein Wert von On zeigt an, dass der Benutzer ausdrücklich in einen Modus zur reduzierten Datennutzung auf dem Client eingewilligt hat. Wenn dies an Ursprünge kommuniziert wird, können diese alternative Inhalte liefern, um die heruntergeladenen Daten zu reduzieren, wie z.B. kleinere Bild- und Videoressourcen, unterschiedliche Markup- und Stilgestaltungen, deaktiviertes Polling und automatische Updates usw.

Hinweis: Das Deaktivieren von HTTP/2 Server Push (RFC 7540, Abschnitt 8.2: Server Push) kann Downloads reduzieren. Beachten Sie, dass diese Funktion in den meisten großen Browser-Engines standardmäßig nicht mehr unterstützt wird.

Header-Typ Anforderungsheader, Client-Hinweis
Verbotener Anforderungsheader Nein
CORS-Safelist-Antwortheader Nein

Syntax

http
Save-Data: <sd-token>

Direktiven

<sd-token>

Ein Wert, der angibt, ob der Client in den Modus zur reduzierten Datennutzung einwilligen möchte. on bedeutet ja, während off (die Standardeinstellung) nein bedeutet.

Beispiele

Verwendung von Save-Data: on

Die folgende Nachricht fordert eine Ressource mit dem Save-Data-Header an, der angibt, dass der Client in den Modus zur reduzierten Datennutzung wechselt:

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

Der Server antwortet mit einer 200-Antwort, und der Vary-Header zeigt an, dass Save-Data möglicherweise zur Erstellung der Antwort verwendet wurde. Caches sollten sich dieses Headers bewusst sein, um Antworten zu differenzieren:

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

[…]

Auslassen von Save-Data

In diesem Fall fordert der Client die gleiche Ressource ohne den Save-Data-Header an:

http
GET /image.jpg HTTP/1.1
Host: example.com

Die Antwort des Servers liefert die vollständige Version des Inhalts. Der Vary-Header stellt sicher, dass Antworten separat basierend auf dem Wert des Save-Data-Headers zwischengespeichert werden sollten. Dies kann sicherstellen, dass der Benutzer nicht ein Bild mit niedrigerer Qualität aus dem Cache erhält, wenn der Save-Data-Header nicht mehr vorhanden ist (z.B. nach dem Wechsel von der Mobilfunkverbindung zu Wi-Fi).

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

[…]

Spezifikationen

Specification
Save Data API
# save-data-request-header-field

Browser-Kompatibilität

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
Save-Data
Experimental

Legend

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

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.

Siehe auch