files/en-us/web/http/reference/headers/sec-ch-device-memory/index.md
{{SecureContext_Header}}{{SeeCompatTable}}
The HTTP Sec-CH-Device-Memory {{Glossary("request header")}} is used in device client hints to indicate the approximate amount of available RAM on the client device, in gigabytes.
The header is part of the {{DOMxRef("Device Memory API", "Device Memory API", "", "nocode")}}.
Client hints are accessible only on secure origins.
A server has to opt in to receive the Sec-CH-Device-Memory header from the client, by first sending the {{HTTPHeader("Accept-CH")}} response header.
Servers that opt in to the Sec-CH-Device-Memory client hint will typically also specify it in the {{HTTPHeader("Vary")}} header to inform caches that the server may send different responses based on the header value in a request.
Sec-CH-Device-Memory: <number>
<number>
: The approximate amount of device RAM.
The amount of device RAM can be used as a {{glossary("fingerprinting")}} variable, so values for the header are intentionally coarse to reduce the potential for its misuse. Values are only reported in powers of two, and are clamped to an implementation-defined minimum lower value and a maximum upper value. These bounds may change over time (see browser compatibility table).
For example, if a browser does not report below 2 or above 32 then the value is one of: 2, 4, 8, 16, 32.
The server first needs to opt in to receive Sec-CH-Device-Memory header by sending the {{HTTPHeader("Accept-CH")}} response header containing Sec-CH-Device-Memory:
Accept-CH: Sec-CH-Device-Memory
Then on subsequent requests the client might send Sec-CH-Device-Memory header back:
Sec-CH-Device-Memory: 1
{{Specifications}}
{{Compat}}