첫 장>클라이언트 힌트

클라이언트 힌트는 웹 브라우저가 클라이언트 장치와 브라우저에 대한 자세한 정보를 웹 서버로 전송할 수 있도록 하는 HTTP 헤더와 JavaScript API 세트입니다. 클라이언트 힌트는 User-Agent의 후속 기능으로 설계되었으며, 웹 서버가 신뢰할 수 없는 User-Agent 문자열 기반 감지나 브라우저 지문 기술에 의존하지 않고 클라이언트의 콘텐츠를 최적화할 수 있는 표준화된 방법을 제공합니다.

HTTP User-Agent

""

Client Hints JavaScript API

API Support

False

Client Hints HTTP Headers

클라이언트 힌트는 아직 완전히 표준화되지 않았으며 일부 브라우저에서는 지원되지 않습니다. 클라이언트에서 전송하며, 캐싱 또는 클라이언트에서 전송되지 않아 값을 수신하지 못할 수 있습니다.

sec-ch-ua

받지 못함

sec-ch-ua-platform

받지 못함

sec-ch-ua-mobile

받지 못함

sec-ch-ua-full-version

받지 못함

sec-ch-ua-full-version-list

받지 못함

sec-ch-ua-platform-version

받지 못함

sec-ch-ua-arch

받지 못함

sec-ch-ua-bitness

받지 못함

sec-ch-ua-wow64

받지 못함

sec-ch-ua-model

받지 못함

sec-ch-lang

받지 못함

sec-ch-save-data

받지 못함

sec-ch-width

받지 못함

sec-ch-viewport-width

받지 못함

sec-ch-viewport-height

받지 못함

sec-ch-dpr

받지 못함

sec-ch-device-memory

받지 못함

sec-ch-rtt

받지 못함

sec-ch-downlink

받지 못함

sec-ch-ect

받지 못함

sec-ch-prefers-color-scheme

받지 못함

sec-ch-prefers-reduced-motion

받지 못함

sec-ch-prefers-reduced-transparency

받지 못함

sec-ch-prefers-contrast

받지 못함

sec-ch-forced-colors

받지 못함

sec-ch-ua-form-factors

받지 못함

알려진 클라이언트 힌트 목록

  • Sec-CH-UA
    사용자 에이전트의 브랜드와 버전을 나타냅니다.
  • Sec-CH-UA-Full-Version
    사용자 에이전트의 전체 버전을 나타냅니다(더 이상 사용되지 않으며 Sec-CH-UA-Full-Version-List로 대체됨).
  • Sec-CH-UA-Full-Version-List
    브랜드 목록에 있는 각 브랜드의 전체 버전을 나타냅니다.
  • Sec-CH-UA-Platform
    지정된 사용자 에이전트가 실행 중인 플랫폼을 나타냅니다.
  • Sec-CH-UA-Platform-Version
    지정된 사용자 에이전트가 실행 중인 플랫폼 버전을 나타냅니다.
  • Sec-CH-UA-Arch
    특정 사용자 에이전트가 실행되는 플랫폼의 아키텍처를 나타냅니다.
  • Sec-CH-UA-Bitness
    특정 사용자 에이전트가 실행되는 플랫폼 아키텍처를 나타내는 비트 수입니다.
  • Sec-CH-UA-WoW64
    사용자 에이전트 바이너리가 64비트 Windows에서 32비트 모드로 실행되고 있는지 감지하는 데 사용됩니다.
  • Sec-CH-UA-Model
    지정된 사용자 에이전트가 실행 중인 장치를 나타냅니다.
  • Sec-CH-UA-Mobile
    사용자 에이전트가 "모바일" 사용자 경험에 편향되어 있는지 여부를 감지하는 데 사용됩니다.
  • Sec-CH-UA-Form-Factors
    역사적으로 User-Agent 문자열에서 <deviceCompat> 토큰으로 표현된 장치의 폼 팩터를 나타냅니다.
  • Sec-CH-Lang
    (또는 Lang)은 사용자의 언어 기본 설정을 나타냅니다.
  • Sec-CH-Save-Data
    (또는 Save-Data)는 데이터 사용량을 줄이기 위한 사용자 에이전트의 기본 설정을 나타냅니다.
  • Sec-CH-Width
    서버에 이미지의 레이아웃 너비를 제공합니다.
  • Sec-CH-Viewport-Width
    (또는 Viewport-Width)는 CSS 픽셀 단위의 사용자 뷰포트 너비입니다.
  • Sec-CH-Viewport-Height
    사용자 에이전트의 현재 뷰포트 높이를 나타냅니다.
  • Sec-CH-DPR
    (또는 DPR)은 사용자 화면의 실제 픽셀과 CSS 픽셀의 비율을 보고합니다.
  • Sec-CH-Device-Memory
    (또는 장치-메모리) 현재 장치에 있는 대략적인 메모리 양(GiB 단위)을 표시합니다. 이 정보는 사용자를 식별하는 데 사용될 수 있으므로 Device-Memory의 가치는 의도적으로 매우 대략적으로 만들어집니다. 유효한 값은 0.25, 0.5, 1, 2, 4, 8입니다.
  • Sec-CH-RTT
    (또는 RTT)는 애플리케이션 계층의 대략적인 왕복 시간(밀리초 단위)을 제공합니다. RTT는 힌트에 서버 처리 시간이 포함된다는 점에서 전송 계층 RTT와 다릅니다. 지문 채취를 방지하기 위해 RTT 값은 가장 가까운 25밀리초로 반올림됩니다.
  • Sec-CH-Downlink
    (또는 다운링크)는 초당 메가비트(Mbps)로 표시되며 사용자 연결의 대략적인 다운스트림 속도를 보여줍니다. 값은 초당 25킬로비트의 가장 가까운 배수로 반올림됩니다. 지문인식이 또 되니까.
  • Sec-CH-ECT
    (또는 ECT)는 효과적인 연결 유형을 나타냅니다. 해당 값은 열거된 연결 유형 목록 중 하나이며, 각각은 지정된 범위 내의 RTT 및 다운링크 값과의 연결을 설명합니다. 유효한 ECT 값은 4g, 3g, 2g 및 Slow-2g입니다.
  • Sec-CH-Prefers-Color-Scheme
    사용자가 선호하는 색 구성표를 나타냅니다.
  • Sec-CH-Prefers-Reduced-Motion
    사용자가 사용하는 애니메이션이나 모션의 양을 최소화하도록 시스템에 요청했는지 감지하는 데 사용됩니다.
  • Sec-CH-Prefers-Reduced-Transparency
    사용자가 사용하는 투명 또는 반투명 레이어 효과의 수를 최소화하도록 시스템에 요청했는지 여부를 감지하는 데 사용됩니다.
  • Sec-CH-Prefers-Contrast
    사용자가 웹 콘텐츠를 더 높은(또는 더 낮은) 명암비로 렌더링하도록 요청했는지 여부를 감지하는 데 사용됩니다.
  • Sec-CH-Forced-Colors
    사용자 에이전트가 페이지에서 사용자가 선택한 제한된 색상 팔레트를 강제하는 강제 색상 모드를 활성화했는지 여부를 감지하는 데 사용됩니다.