User-AgentUser-Agent는 요청을 보낸 클라이언트 소프트웨어(브라우저·봇·라이브러리)의 종류와 버전을 서버에 알리는 헤더입니다. 서버는 이 값으로 콘텐츠를 맞춤 제공하거나 통계·차단·호환성 처리를 합니다.
형식은 여러 제품 토큰(product/version)과 괄호 주석의 나열입니다. 현대 브라우저의 UA 문자열은 역사적 호환성 때문에 매우 길고 관습적입니다. 예를 들어 거의 모든 브라우저가 `Mozilla/5.0`으로 시작하는데, 이는 1990년대 Netscape 시절의 콘텐츠 협상 관행이 굳어진 흔적입니다.
서버는 UA로 모바일/데스크톱 레이아웃을 분기하거나(User-Agent 스니핑), 봇을 식별해 크롤링을 제어합니다. 하지만 UA는 클라이언트가 자유롭게 바꿀 수 있어 신뢰할 수 없습니다. 기능 감지(feature detection)가 UA 스니핑보다 견고합니다.
프라이버시 우려로 브라우저들은 UA 문자열을 동결·축소하고, 대신 구조화된 User-Agent Client Hints(Sec-CH-UA 계열) 헤더로 필요한 정보만 선택적으로 노출하는 방향으로 이동하고 있습니다.
User-Agent: <product>/<version> [<comment>] ...e.g. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0 Safari/537.36