본문으로 건너뛰기
AZ Tools

User Agent 파서

User-Agent 문자열을 브라우저·엔진·OS·디바이스·CPU로 파싱. GPTBot·ClaudeBot·PerplexityBot 포함 20+ 봇 감지.

위에 User-Agent 문자열 붙여넣기.

파싱은 전부 로컬에서. 정규식 기반 — ua-parser-js와 같은 접근, 더 단순한 규칙, 최신 봇 시그니처(GPTBot·ClaudeBot·PerplexityBot).

사용법

  1. 기본값으로 내 브라우저의 User-Agent를 파싱합니다.
  2. '현재 UA 사용'을 클릭해 navigator.userAgent를 새로고침하거나 임의의 UA를 붙여넣습니다.
  3. 파싱된 필드를 확인합니다. 봇은 특별히 강조됩니다.

자세한 설명

펼치기

User-Agent 헤더는 브라우저가 자기를 밝히려고 보내는 지저분하고 자유 형식인 문자열입니다. 이 파서는 실용적인 정규식 대조(ua-parser-js와 같은 접근)로 브라우저 이름과 버전, 렌더링 엔진, 운영체제와 버전, 기기 종류와 제조사와 모델, CPU 아키텍처를 뽑아냅니다. 열 때 현재 브라우저의 UA를 자동으로 채웁니다. 분석 도구 디버깅, 봇 식별, 서버 로그가 무엇을 보고 있는지 이해할 때 씁니다.

이 문자열은 삼십 년치 호환성 거짓말의 화석 기록이고, 그래서 모든 파서가 명세가 아니라 정규식 추측입니다. 크롬은 지금도 자기를 Mozilla/5.0이라 알리고 like Gecko이자 Safari라고 주장하는데 어느 것도 사실이 아닙니다. 예전에 사이트들이 페이지의 좋은 판본을 내주기 전에 그 토큰들을 훑어봤기 때문입니다. 모든 브라우저가 그 습관을 물려받았으므로, 이 헤더는 브라우저가 무엇으로 오인되고 싶은지를 역사순으로 적은 목록입니다.

쓸모 있는 정보는 의도적으로 제거되는 중입니다. 크롬은 몇 해 전에 UA의 버전 번호를 주 버전까지만 남기고 플랫폼 문자열을 동결하고 실제 값을 클라이언트 힌트 뒤로 옮겼고, 사파리는 카탈리나 이후로 고정된 macOS 버전을 보고하며, 아이패드OS와 데스크톱 모드 브라우저는 자기가 아닌 것으로 자기를 밝힙니다. 그 문자열을 읽는 파서는 브라우저가 보고되기를 원하는 것을 보고하며, 특히 운영체제 버전은 이제 사실이 아니라 상수입니다.

여기 있는 무엇도 보안 경계가 아니고, 그것이 중요한 부분입니다. 이 헤더는 클라이언트가 채우는 요청 항목이라, 크롬처럼 보이고 싶은 봇은 그냥 그렇게 적습니다. 무언가가 지원되는지 아는 믿을 만한 방법은 기능 감지뿐입니다. user agent로 차단하면 정직한 크롤러를 걸러 내고 흔치 않은 브라우저를 쓰는 실제 사용자를 불편하게 하면서, 정작 마음먹은 쪽은 아무도 막지 못합니다.

가장 믿을 수 없는 항목은 기기 모델입니다. 안드로이드 제조사들은 마케팅 이름부터 내부 코드명까지 아무거나 채우고, iOS는 아예 밝히지 않으며, 데스크톱 브라우저는 비워 둡니다. 기기 모델별 분석 결과는 안드로이드 제조사들이 공개하기로 한 것들의 분석 결과입니다.

자주 묻는 질문

왜 user-agent 문자열이 그렇게 이상한가요?

역사적인 호환성 핵입니다. 모든 브라우저가 'Mozilla/5.0'인 척하는데, 옛 서버들이 이 문자열로 콘텐츠를 차단했기 때문입니다. Chrome이 'Safari'를 추가하는 것은 옛 WebKit 감지가 그것을 사용했기 때문입니다. 카고 컬트가 끝없이 이어지는 셈입니다.

Client Hints(UA-CH)가 이걸 대체하나요?

천천히 대체하고 있습니다. Chrome은 UA 내용을 동결(User-Agent Reduction)하는 중이고 구조화된 Client Hints 헤더(Sec-CH-UA-*)를 제공합니다. 당분간은 둘이 공존합니다. 이 파서는 레거시 UA 문자열에서 동작합니다.

봇 감지는 얼마나 정확한가요?

자기를 밝히는 정직한 봇(Googlebot·Bingbot·GPTBot·ClaudeBot)에는 신뢰할 만합니다. 데스크톱 Chrome UA를 위조하는 악의적 봇에는 쓸모가 없으며, 그 경우에는 행동 지문이나 CAPTCHA가 필요합니다.

왜 iOS에서 모델명을 안 보여줘요?

iOS user agent에는 특정 모델이 들어 있지 않고 모두 'iPhone' 또는 'iPad'입니다. 기껏해야 화면 크기로 추측할 수 있을 뿐입니다.

관련 도구