Accept-CH
응답 헤더 Client Hints

개요

Accept-CH는 서버가 어떤 Client Hints(클라이언트 힌트) 헤더를 앞으로의 요청에서 받고 싶은지 브라우저에 알리는 옵트인 응답 헤더입니다. 고엔트로피 힌트(기기 모델·플랫폼 버전·메모리 등)는 이 헤더로 명시적으로 요청해야만 브라우저가 다음 요청부터 실어 보냅니다.

자세히

Client Hints는 브라우저가 기기·네트워크·UA 정보를 서버에 선택적으로 노출하는 메커니즘입니다. 프라이버시를 위해 대부분의 힌트는 기본 전송되지 않고, 서버가 Accept-CH로 이름을 나열해 옵트인해야 합니다. 브라우저는 이 목록을 오리진 단위로 기억했다가 그 오리진으로 가는 이후 요청에 해당 Sec-CH-* / Device-Memory / Downlink 등 헤더를 붙입니다.

따라서 첫 요청에는 힌트가 없습니다. 서버가 응답으로 Accept-CH를 내려보낸 뒤 두 번째 요청부터 힌트가 도착하는 2왕복 구조입니다. 첫 응답에서 바로 힌트를 활용하고 싶으면 <meta http-equiv="Accept-CH">나 Critical-CH(중요 힌트 재요청) 헤더를 병행합니다.

고엔트로피 힌트를 교차 출처 서브리소스·iframe으로도 전달하려면 Accept-CH 옵트인만으로는 부족하고, Permissions-Policy로 해당 힌트 기능을 그 오리진에 위임해야 합니다. 또한 응답이 힌트 값에 따라 달라진다면(예: 기기별 이미지), 캐시가 표현을 혼동하지 않도록 Vary에 해당 힌트 헤더를 나열해야 합니다.

문법

Accept-CH: <hint-name>[, <hint-name>]*

e.g. Accept-CH: Sec-CH-UA-Platform-Version, Sec-CH-UA-Model, Device-Memory

지시어 / 값

<hint-name>이후 요청에서 받고 싶은 Client Hint 헤더 이름(예: Sec-CH-UA-Model, Device-Memory, Downlink).

실무 참고

관련 헤더

관련 상태코드

스펙 근거