User Agent Parser
UA 문자열 분석 도구
User Agent Parser 소개
User Agent 분석기는 User Agent 문자열을 브라우저, 렌더링 엔진, 운영체제, 디바이스 타입에 대한 사람이 읽을 수 있는 정보로 디코딩하는 무료 브라우저 기반 도구입니다. 페이지를 열면 자동으로 `navigator.userAgent`를 읽어 현재 브라우저 환경의 파싱된 분석 결과를 표시합니다. 브라우저 호환성 문제 디버깅, 서버 사이드 UA 감지 로직 테스트, 분석 데이터 조사 등에 유용하게 임의의 UA 문자열을 수동으로 붙여넣어 분석할 수도 있습니다.
파서는 다음 브라우저를 이름과 버전으로 식별합니다: Chrome, Firefox, Safari, Microsoft Edge, Opera(OPR), Samsung Browser, 네이버 웨일, Internet Explorer. 현대 브라우저가 수행하는 UA 스푸핑을 올바르게 처리합니다. 예를 들어 Edge는 UA 문자열에 "Chrome"을 포함하므로, 파서는 Chrome 감지로 넘어가기 전에 먼저 "Edg/"를 확인합니다. 렌더링 엔진은 Blink(Chrome 기반), WebKit(Safari), Gecko(Firefox), Trident(Internet Explorer)를 식별합니다.
OS 감지는 Windows(NT 10.0/6.3/6.2/6.1 → 10/11, 8.1, 8, 7), macOS(Mac OS X 토큰에서 버전), Chrome OS, Android(버전 번호), iOS(iPhone/iPad, CPU OS 토큰에서 버전), Linux(Ubuntu, Fedora, Debian 변형 감지)를 커버합니다. 디바이스 분류는 Mobile(iPhone, iPod, Android Mobile), Tablet(iPad, 비모바일 Android), Bot/크롤러(Googlebot, Bingbot, Spider, Slurp, Whale), Desktop을 구분합니다.
주요 기능
- 페이지 로드 시 `navigator.userAgent`를 사용하여 현재 브라우저의 User Agent 문자열 자동 감지
- 8개 브라우저 식별: Chrome, Firefox, Safari, Edge, Opera, Samsung Browser, 네이버 웨일, Internet Explorer
- 4개 렌더링 엔진 감지: Blink(Chrome 기반), WebKit(Safari), Gecko(Firefox), Trident(IE)
- Windows(7/8/8.1/10/11), macOS, Chrome OS, Android, iOS, Linux 변형의 OS 감지
- 디바이스 타입 분류: 모바일, 태블릿, 데스크톱, Bot/크롤러 감지
- UA 스푸핑 올바른 해석(Edge는 "Chrome" 토큰 포함, Samsung Browser는 "Chrome" 토큰 포함)
- 수동 입력 모드: 임의의 UA 문자열을 붙여넣고 분석 버튼을 클릭하여 독립적으로 파싱
- 사용자 정의 문자열 테스트 후 현재 브라우저 UA로 복원하는 리셋 버튼
자주 묻는 질문
User Agent 문자열이란 무엇인가요?
User Agent(UA) 문자열은 브라우저가 웹 서버에 자신을 식별하기 위해 모든 HTTP 요청과 함께 전송하는 텍스트 헤더입니다. 일반적으로 브라우저 이름과 버전, 렌더링 엔진, 운영체제, 때로는 디바이스 정보를 포함합니다. 서버는 이 정보를 분석, 조건부 콘텐츠 제공, 호환성 우회에 활용합니다.
왜 Chrome의 User Agent 문자열에 "Mozilla"와 "Safari"가 포함되나요?
이는 역사적인 이유 때문입니다. 초기 브라우저들은 UA에 "Mozilla/1.0"을 전송했습니다. Netscape가 새 기능을 추가하자 다른 브라우저들이 동일한 콘텐츠를 받기 위해 "Mozilla"를 포함했습니다. Chrome은 나중에 WebKit(Safari의 엔진) 위에 구축되어 호환성을 위해 "Safari"를 포함했습니다. 현대의 UA 문자열은 정확한 브라우저 설명이 아닌 호환성 토큰이 겹겹이 쌓인 결과물입니다.
파서가 Edge를 Chrome과 어떻게 구분하나요?
Edge와 Chrome 모두 UA 문자열에 "Chrome/XX.X"를 포함합니다. 파서는 "Chrome" 확인 전에 Edge 전용 토큰인 "Edg/"를 먼저 확인하므로, UA에 Chrome 토큰이 포함되어 있어도 Edge가 올바르게 식별됩니다. 이 순서가 중요한데, Chrome을 먼저 확인하면 Edge가 잘못 식별될 수 있습니다.
봇 트래픽을 감지할 수 있나요?
네. 파서는 "Bot", "Crawler", "Spider", "Slurp"(Yahoo), "Googlebot", "Bingbot" 등 일반적인 봇 서명을 확인합니다. 이 토큰들 중 하나라도 발견되면 디바이스 타입이 "Bot/크롤러"로 설정됩니다. 단, 정교한 봇은 임의의 UA 문자열을 스푸핑할 수 있어 보안 목적의 봇 감지에는 클라이언트 사이드 UA 파싱이 신뢰할 수 있는 방법이 아닙니다.
UA 문자열이 모바일 디바이스에서 왔는지 어떻게 알 수 있나요?
파서는 "Mobile", "Android.*Mobile", "iPhone", "iPod" 토큰을 확인합니다. 하나라도 일치하면 디바이스가 Mobile로 분류되고 `mobile` 플래그가 true로 설정됩니다. 태블릿 감지는 "iPad", "Mobile" 없는 "Android", "Tablet"을 확인합니다. mobile 플래그는 결과의 디바이스 타입 옆에 녹색 배지로 표시됩니다.
렌더링 엔진과 브라우저의 차이는 무엇인가요?
렌더링 엔진은 HTML/CSS를 파싱하고 픽셀을 그리는 핵심 소프트웨어입니다. 여러 브라우저가 동일한 엔진을 공유할 수 있습니다. Chrome, Edge, Opera, Samsung Browser, Brave는 모두 Blink(WebKit의 포크)를 사용합니다. Safari는 WebKit을, Firefox는 Gecko를, Internet Explorer는 Trident를 사용했습니다. 엔진을 식별하면 어떤 CSS 기능과 JavaScript API를 사용할 수 있는지 판단하는 데 중요합니다.
Windows 11을 감지할 수 있나요?
Windows 11은 User Agent 문자열에서 Windows 10과 동일한 `Windows NT 10.0` 토큰을 보고합니다. Microsoft는 UA 기반 감지 로직이 깨지는 것을 방지하기 위해 의도적으로 NT 버전을 변경하지 않았습니다. 파서는 이 모호성을 정확하게 반영하기 위해 이 토큰에 대해 "Windows 10/11"을 표시합니다.
헤드리스 브라우저가 전송하는 User Agent를 테스트하는 데 사용할 수 있나요?
네. 헤드리스 브라우저(Puppeteer, Playwright 등)를 실행하고 `navigator.userAgent`에서 UA 문자열을 캡처한 후 이 도구에 붙여넣고 분석 버튼을 클릭하세요. 자동화 도구가 현실적인 UA 문자열을 전송하는지 확인하거나 서버 사이드 UA 기반 접근 제어를 디버깅할 때 유용합니다.