Sec-Fetch-UserSec-Fetch-User는 브라우저가 최상위 문서 탐색(navigate) 요청에만 붙이는 Fetch Metadata 헤더로, 그 탐색이 사용자의 실제 조작(클릭·엔터·폼 제출 등 사용자 활성화)에 의해 시작되었는지를 알려 줍니다. 값은 참일 때만 ?1로 전송되고, 자동·스크립트 유발 탐색에는 아예 붙지 않습니다.
이 헤더는 구조화 필드(Structured Fields)의 불리언으로, true를 뜻하는 ?1 형태로만 나타납니다. false(사용자 활성화 없음)일 때는 헤더 자체가 생략됩니다. 즉 서버는 '헤더 존재 여부'로 사용자 제스처 유무를 판별합니다.
이는 원치 않는 자동 리다이렉트·강제 탐색과 사용자가 의도한 이동을 구별하는 데 쓰입니다. 예를 들어 민감한 흐름에서 '사용자 클릭에서 비롯된 탐색만 허용'하는 정책을 세우거나, 스크립트가 유발한 최상위 탐색을 의심 신호로 다룰 수 있습니다. 브라우저가 관리하는 값이라 위조되지 않습니다.
Sec-Fetch-User는 오직 mode가 navigate인 최상위 탐색에만 나타납니다. 하위 리소스(image·script·fetch 등)에는 붙지 않으므로, 다른 Sec-Fetch-* 헤더(Site·Mode·Dest)와 함께 종합해 요청 문맥을 해석해야 의미가 있습니다.
Sec-Fetch-User: ?1e.g. Sec-Fetch-User: ?1
?1 | 이 탐색이 사용자 활성화(클릭·엔터 등)에 의해 시작되었음을 뜻하는 구조화 불리언 참. 값은 이 형태로만 전송됨. |