En-tête Device-Memory
Obsolète: Cette fonctionnalité n'est plus recommandée. Même si certains navigateurs la prennent encore en charge, elle a peut-être déjà été supprimée des standards du web, est en passe d'être supprimée ou n'est conservée qu'à des fins de compatibilité. Évitez de l'utiliser et mettez à jour le code existant si possible ; consultez le tableau de compatibilité au bas de cette page pour vous aider à prendre votre décision. Sachez que cette fonctionnalité peut cesser de fonctionner à tout moment.
Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.
Non standard: Cette fonctionnalité n'est pas standardisée. Nous déconseillons d'utiliser des fonctionnalités non standard en production, car leur prise en charge par les navigateurs est limitée, et elles peuvent être modifiées ou supprimées. Toutefois, elles peuvent constituer une alternative appropriée dans certains cas où aucune option standard n'existe.
Attention :
L'en-tête Device-Memory a été standardisé sous le nom Sec-CH-Device-Memory et ce nouveau nom est désormais privilégié.
L'en-tête de requête HTTP Device-Memory est utilisé dans les indications client pour les appareils pour indiquer la quantité approximative de mémoire RAM disponible sur l'appareil client, en gigaoctets.
L'en-tête fait partie de l'API Device Memory.
Les indications client ne sont accessibles que sur des origines sécurisées.
Un serveur doit activer la réception de l'en-tête Device-Memory envoyé par le client, en envoyant d'abord l'en-tête de réponse Accept-CH.
Les serveurs qui activent l'indication client Device-Memory la spécifient généralement aussi dans l'en-tête Vary pour informer les caches que le serveur peut envoyer différentes réponses selon la valeur de l'en-tête dans une requête.
| Type d'en-tête | En-tête de requête, indication client |
|---|---|
| En-tête de requête interdit | Non |
Syntaxe
Device-Memory: <number>
Directives
<number>-
Quantité approximative de mémoire RAM de l'appareil.
La quantité de mémoire RAM de l'appareil peut être utilisée comme une variable de prise d'empreinte, donc les valeurs de l'en-tête sont volontairement grossières pour réduire le risque d'utilisation abusive. Les valeurs ne sont rapportées qu'en puissances de deux, et sont limitées à une valeur minimale et maximale définie par l'implémentation. Ces bornes peuvent évoluer au fil du temps (voir tableau de compatibilité des navigateurs).
Par exemple, si un navigateur ne rapporte pas en dessous de
2ou au-dessus de32, alors la valeur sera l'une des suivantes :2,4,8,16,32.
Exemples
Le serveur doit d'abord activer la réception de l'en-tête Device-Memory en envoyant l'en-tête de réponse Accept-CH contenant Device-Memory :
Accept-CH: Device-Memory
Ensuite, lors des requêtes suivantes, le client peut renvoyer l'en-tête Device-Memory :
Device-Memory: 1
Spécifications
This feature does not appear to be defined in any specification.>Compatibilité des navigateurs
Voir aussi
- Améliorer la confidentialité des utilisateur·ice·s et l'expérience des développeur·euse·s avec les indications client User-Agent
- L'API Device Memory
- La propriété API
Navigator.deviceMemory - La propriété API
WorkerNavigator.deviceMemory - Indications client pour les appareils et images adaptatives :
Sec-CH-Device-MemorySec-CH-DPRSec-CH-Viewport-HeightSec-CH-Viewport-WidthSec-CH-WidthDPRObsolèteContent-DPRObsolèteViewport-WidthObsolèteWidthObsolète
- L'en-tête
Accept-CH - Mise en cache HTTP : Vary et
Vary