Save-Data header
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 angibt.
Dies könnte aus Gründen wie hohen Übertragungskosten, langsamen Verbindungsgeschwindigkeiten usw. sein.
Save-Data ist ein niedriges Entropie-Hinweis und kann daher vom Client gesendet werden, auch wenn er nicht vom Server mithilfe eines Accept-CH-Antwort-Headers 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 eine explizite Zustimmung des Benutzers zum Modus der reduzierten Datennutzung auf dem Client an.
Wenn dies an Ursprünge kommuniziert wird, können diese alternative Inhalte liefern, um den heruntergeladenen Datenumfang zu reduzieren, wie kleinere Bild- und Videoressourcen, unterschiedliches Markup und Styling, deaktivierte Polling- und automatische Updates usw.
Hinweis: Das Deaktivieren von HTTP/2 Server Push (RFC 7540, Abschnitt 8.2: Server Push) kann den Daten-Download verringern. Beachten Sie, dass dieses Feature in den meisten großen Browser-Engines standardmäßig nicht mehr unterstützt wird.
| Header-Typ | Anforderungsheader, Client-Hinweis |
|---|---|
| Verbotener Anforderungsheader | Nein |
| CORS-gesicherter Antwortheader | Nein |
Syntax
Save-Data: <sd-token>
Direktiven
<sd-token>-
Ein Wert, der angibt, ob der Client in den Modus der reduzierten Datennutzung einwilligen möchte.
Ongibt ja an, währendOff(der Standard) nein angibt.
Beispiele
>Verwendung von Save-Data: on
Die folgende Nachricht fordert eine Ressource mit dem Save-Data-Header an, was anzeigt, dass der Client in den Datenreduzierungsmodus einwilligt:
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 zur Erstellung der Antwort verwendet worden sein könnte, und Caches sollten sich dieses Headers bewusst sein, um Antworten zu differenzieren:
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:
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 dem Benutzer kein Bild von minderer Qualität aus dem Cache geliefert wird, wenn der Save-Data-Header nicht mehr vorhanden ist (z.B. nach dem Wechsel von Mobilfunk zu Wi-Fi).
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
Siehe auch
- CSS-
@media-Featureprefers-reduced-dataExperimentell Vary-Header, der darauf hinweist, dass der servierte Inhalt je nach Wert vonSave-Datavariiert (siehe HTTP-Caching: Vary)NetworkInformation.saveData- Helfen Sie Ihren Benutzern
Save-Dataauf css-tricks.com - Schnelle und leichte Anwendungen mit Save-Data bereitstellen - web.dev auf web.dev
- Verbesserung der Privatsphäre der Nutzer und der Entwicklererfahrung mit User-Agent Client-Hints (developer.chrome.com)