En-tête Save-Data
Disponibilité limitée
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
Expérimental: Il s'agit d'une technologie expérimentale.
Vérifiez attentivement le tableau de compatibilité des navigateurs avant de l'utiliser en production.
L'en-tête de requête HTTP Save-Data est un indications du client réseau qui indique la préférence du client pour une utilisation réduite des données.
Cela peut être pour des raisons telles que des coûts de transfert élevés, des vitesses de connexion lentes, etc.
Save-Data est un indications à faible entropie, et peut donc être envoyé par le client même s'il n'est pas demandé par le serveur utilisant un Accept-CH en-tête de réponse.
De plus, il doit être utilisé pour réduire les données envoyées au client indépendamment des valeurs des autres indices de client qui indiquent la capacité du réseau, comme Downlink et RTT.
Une valeur de On indique que l'utilisateur·ice a explicitement choisi un mode de réduction de l'utilisation des données sur le client.
Lorsqu'elle est communiquée aux origines, cela leur permet de fournir un contenu alternatif pour réduire les données téléchargées, comme des ressources d'image et de vidéo plus petites, un balisage et un style différents, le désactivation du sondage et des mises à jour automatiques, etc.
Note : La désactivation de HTTP/2 Server Push (RFC 7540, section 8.2: Server Push) peut réduire les téléchargements de données. Notez que cette fonctionnalité n'est plus prise en charge par défaut dans la plupart des principaux moteurs de navigateur.
| Type d'en-tête | En-tête de requête, Indication du client |
|---|---|
| En-tête de requête interdit | Non |
| En-tête de réponse autorisé par CORS | Non |
Syntaxe
Save-Data: <sd-token>
Directives
<sd-token>-
Une valeur indiquant si le client souhaite activer le mode de réduction de l'utilisation des données.
onindique oui, tandis queoff(la valeur par défaut) indique non.
Exemples
>Utiliser Save-Data: on
Le message suivant demande une ressource avec l'en-tête Save-Data indiquant que le client choisit le mode de réduction de l'utilisation des données :
GET /image.jpg HTTP/1.1
Host: exemple.com
Save-Data: on
Le serveur répond avec une réponse 200, et l'en-tête Vary indique que Save-Data a peut-être été utilisé pour créer la réponse, et les caches doivent en tenir compte pour différencier les réponses :
HTTP/1.1 200 OK
Content-Length: 102832
Vary: Accept-Encoding, Save-Data
Cache-Control: public, max-age=31536000
Content-Type: image/jpeg
[…]
Omettre Save-Data
Dans ce cas, le client demande la même ressource sans l'en-tête Save-Data :
GET /image.jpg HTTP/1.1
Host: exemple.com
La réponse du serveur fournit la version complète du contenu.
L'en-tête Vary garantit que les réponses doivent être mises en cache séparément en fonction de la valeur de l'en-tête Save-Data.
Cela peut garantir que l'utilisateur·ice ne reçoit pas une image de qualité inférieure à partir du cache lorsque l'en-tête Save-Data n'est plus présent (par exemple, après être passé du réseau cellulaire au 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
[…]
Spécifications
| Spécification |
|---|
| Save Data API> # save-data-request-header-field> |
Compatibilité des navigateurs
Voir aussi
- La fonctionnalité
@mediaCSSprefers-reduced-data - L'en-tête
Varyindique que le contenu servi varie en fonction de la valeur deSave-Data(voir HTTP Caching : Vary) - La propriété API
NetworkInformation.saveData - Aidez vos utilisateur·ice·s à économiser des données
Save-Data(angl.) sur css-tricks.com - Fournir des applications rapides et légères avec Save-Data (angl.) sur web.dev
- Améliorer la confidentialité des utilisateur·ice·s et l'expérience des développeur·euse·s avec les indications de l'agent utilisateur du client (angl.) (developer.chrome.com)