DPR
요청 헤더 Client Hints

개요

DPR(Device Pixel Ratio)는 클라이언트 화면의 물리 픽셀과 CSS 픽셀의 비율을 서버에 전달하는 클라이언트 힌트 요청 헤더입니다. 고해상도(레티나) 디스플레이 여부를 서버가 알 수 있게 합니다.

값은 소수 배율입니다(예: 일반 화면 `DPR: 1.0`, 레티나 `DPR: 2.0`, 일부 고밀도 기기 `DPR: 3.0`).

자세히

DPR이 2.0이라는 것은 1 CSS 픽셀이 가로·세로 각 2개의 물리 픽셀로 그려진다는 뜻입니다. 같은 레이아웃 폭(CSS 픽셀)이라도 DPR이 높으면 선명하게 보이려면 더 많은 물리 픽셀의 이미지가 필요합니다. 서버는 DPR과 Width를 결합해 정확한 해상도의 이미지를 선택하고, 저밀도 화면에는 작은 이미지를 보내 대역폭을 절약합니다.

다른 클라이언트 힌트처럼 옵트인이라, 서버가 `Accept-CH: DPR`로 요청해야 브라우저가 값을 보냅니다. 서버가 DPR을 반영해 다운스케일한 이미지를 보낼 때는, 실제 적용한 배율을 응답에 `Content-DPR` 헤더로 알려 클라이언트가 이미지를 올바른 크기로 배치하도록 도왔습니다(레이아웃 깨짐 방지).

표준화 과정에서 DPR은 `Sec-CH-DPR`로 재정의되었고, 접두사 없는 `DPR`은 폐기 경로에 있으며 `Content-DPR`도 함께 사라졌습니다. 오늘날 반응형 이미지는 HTML `srcset`의 `x` 서술자(예: `image@2x.png 2x`)와 `sizes`로 클라이언트 측에서 해결하는 방식이 널리 쓰이므로, 서버 협상이 꼭 필요한 경우에만 최신 `Sec-CH-*` 힌트를 고려하는 것이 안전합니다.

문법

DPR: <number>

e.g. DPR: 2.0

실무 참고

관련 헤더

스펙 근거