Device-MemoryDevice-Memory는 클라이언트 기기의 대략적인 물리 메모리(RAM) 크기를 GiB 단위로 알려 주는 Client Hint 요청 헤더입니다. 서버가 저사양 기기에 가벼운 자원을 서빙하도록 돕는 고엔트로피 힌트로, Accept-CH로 명시 옵트인해야 전송됩니다.
값은 정확한 RAM이 아니라 프라이버시를 위해 미리 정해진 계단값(0.25·0.5·1·2·4·8 GiB)으로 반올림·상한 처리됩니다. 예컨대 16GB 기기도 8로 보고되어 지문(fingerprinting) 표면을 제한합니다. 이는 고엔트로피 힌트라 기본 전송되지 않으며, 서버가 응답에 Accept-CH: Device-Memory를 실어 옵트인한 뒤부터 이후 요청에 붙습니다.
활용 예로, 메모리가 작은 기기(예: 0.5~1)에서는 무거운 자바스크립트 번들·고해상 이미지·복잡한 애니메이션을 줄인 경량 경험을 제공하고, 여유 있는 기기에는 풍부한 경험을 서빙하는 적응형 전략을 세울 수 있습니다. JS에서는 navigator.deviceMemory로 같은 값을 읽습니다.
교차 출처 서브리소스·iframe으로 이 힌트를 전달하려면 Accept-CH 옵트인에 더해 Permissions-Policy로 device-memory 기능을 위임해야 합니다. 값에 따라 응답이 달라지면 Vary: Device-Memory를 함께 보내 캐시 정합을 유지하세요.
Device-Memory: <0.25 | 0.5 | 1 | 2 | 4 | 8>e.g. Device-Memory: 8
<value> | 대략적 기기 RAM(GiB). 프라이버시를 위해 0.25·0.5·1·2·4·8 중 하나로 반올림/상한 처리됨. |