Path: blob/main/files/en-us/web/http/headers/device-memory/index.md
6529 views
------{{HTTPSidebar}} {{SeeCompatTable}} {{securecontext_header}}
The Device-Memory device client hint request header field indicates the approximate amount of available RAM on the client device. The header is part of the Device Memory API.
| Header type | {{Glossary("Request header")}}, Client hint |
|---|---|
| {{Glossary("Forbidden header name")}} | no |
Note:
Client Hints are accessible only on secure origins (via TLS).
A server has to opt in to receive the
Device-Memoryheader from the client, by sending the {{HTTPHeader("Accept-CH")}} response header.Servers that opt in to the
Device-Memoryclient hint will typically also specify it in the {{HTTPHeader("Vary")}} header. This informs caches that the server may send different responses based on the header value in a request.
Syntax
Directives
<number>: The approximate amount of device RAM. Possible values are:
0.25,0.5,1,2,4,8.
The amount of device RAM can be used as a fingerprinting variable, so values for the header are intentionally coarse to reduce the potential for its misuse.
Examples
The server first needs to opt in to receive Device-Memory header by sending the response headers {{HTTPHeader("Accept-CH")}} containing Device-Memory.
Then on subsequent requests the client might send Device-Memory header back:
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
Improving user privacy and developer experience with User-Agent Client Hints (web.dev)
{{DOMxRef("Navigator.deviceMemory")}}
Device client hints
{{HTTPHeader("Content-DPR")}}
{{HTTPHeader("DPR")}}
{{HTTPHeader("Viewport-Width")}}
{{HTTPHeader("Width")}}
{{HTTPHeader("Accept-CH")}}
HTTP Caching > Varying responses and {{HTTPHeader("Vary")}}