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, bevor Sie diese produktiv verwenden.

Der HTTP Save-Data Request-Header ist ein Netzwerk-Client-Hinweis, der die Vorliebe des Clients für eine reduzierte Datennutzung anzeigt. Dies könnte aus Gründen wie hohen Übertragungskosten, langsamen Verbindungen usw. sein.

Save-Data ist ein Low Entropy Hint und kann daher vom Client gesendet werden, auch wenn er nicht vom Server mit einem Accept-CH Antwort-Header angefordert wird. Weiterhin sollte es 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 eine ausdrückliche Benutzerentscheidung für einen Modus mit reduzierter Datennutzung auf dem Client an. Wenn dies an Ursprünge kommuniziert wird, ermöglicht es ihnen, alternativen Inhalt bereitzustellen, um die heruntergeladenen Daten zu reduzieren, wie kleinere Bilder und Videoressourcen, andere 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 Daten-Downloads reduzieren. Beachten Sie, dass diese Funktion in den meisten großen Browser-Engines standardmäßig nicht mehr unterstützt wird.

Header-Typ Request-Header, Client-Hinweis
Verbotener Header-Name Nein
CORS-safelisted Antwort-Header Nein

Syntax

http
Save-Data: <sd-token>

Direktiven

<sd-token>

Ein Wert, der angibt, ob der Client den Modus mit reduzierter Datennutzung nutzen möchte. on bedeutet ja, während off (der Standard) nein bedeutet.

Beispiele

Verwendung von Save-Data: on

Die folgende Nachricht fordert eine Ressource mit dem Save-Data-Header an, der anzeigt, dass der Client den reduzierten Datenmodus verwenden möchte:

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 verwendet worden sein könnte, um die Antwort zu erstellen, und 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 dieselbe 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 basierend auf dem Wert des Save-Data-Headers separat zwischengespeichert werden sollten. Dies kann sicherstellen, dass der Benutzer nicht ein Bild niedrigerer Qualität aus dem Cache erhält, wenn der Save-Data-Header nicht mehr vorhanden ist (z. B. nach dem Wechsel von Mobilfunk zu WLAN).

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

BCD tables only load in the browser

Siehe auch