내 User Agent는 무엇인가요?
User Agent는 브라우저가 모든 HTTP 요청의 User-Agent 헤더에 담아 보내는 텍스트이며, 스크립트에서는 navigator.userAgent로 읽을 수 있습니다. 파서 도구는 페이지가 로드될 때 사용 중인 브라우저의 문자열을 자동으로 채우지만, 이 가이드는 모든 독자에게 같은 분석 결과를 보여 주기 위해 macOS용 Chrome의 고정 문자열 하나를 사용합니다.
실제 예시
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
- 브라우저
- Chrome 120.0.0.0
- 엔진
- Blink
- 운영 체제
- macOS 10.15.7
- 기기 유형
- 데스크톱
- 기기
- 알 수 없음
- CPU 아키텍처
- 알 수 없음
- 봇 / 크롤러
- 아니오
토큰 분석
| 토큰 | 해석 |
|---|---|
| Mozilla/5.0 | 역사적인 호환성 토큰입니다. 거의 모든 브라우저가 이 토큰으로 시작하며, 브라우저가 Firefox라는 뜻이 아닙니다. |
| (Macintosh; Intel Mac OS X 10_15_7) | 플랫폼 주석입니다. Chrome과 Safari는 macOS 버전을 10_15_7로 고정하므로, 최신 macOS 릴리스와 Apple silicon Mac도 같은 값을 보냅니다. |
| AppleWebKit/537.36 | 엔진 토큰입니다. Chrome의 Blink 엔진은 WebKit의 포크로 시작했으며 지금도 이 고정 값을 보고합니다. |
| (KHTML, like Gecko) | 호환성 주석입니다. WebKit은 KHTML에서 파생되었고, “like Gecko”는 Gecko 브라우저에만 최신 페이지를 제공하던 사이트를 위해 추가되었습니다. |
| Chrome/120.0.0.0 | 실제 브라우저와 그 버전입니다. 의미 있는 것은 메이저 버전(120)뿐이며, Chrome은 마이너, 빌드, 패치 버전으로 0.0.0을 보냅니다. |
| Safari/537.36 | 또 다른 호환성 토큰으로, Safari를 찾는 사이트가 Chrome을 WebKit 계열 브라우저로 취급하게 합니다. 브라우저가 Safari라는 뜻이 아닙니다. |
파서는 이 문자열을 Blink 엔진을 사용하는 macOS 10.15.7의 Chrome 120으로 식별합니다. macOS 버전과 끝의 0.0.0은 모두 고정된 값이므로 실제 시스템은 문자열에 표시된 것보다 최신일 수 있습니다. CPU 아키텍처는 알 수 없음으로 남습니다. 파서는 Intel을 CPU 힌트로 해석하지 않으며, Apple silicon Mac도 같은 텍스트를 보내기 때문입니다.
핵심 규칙
- User Agent 문자열은 공백으로 구분된 제품/버전 토큰의 목록이며, 플랫폼 세부 정보는 괄호 안에 들어갑니다.
- 대부분의 토큰은 호환성을 위해 존재합니다. 오래된 감지 코드가 계속 작동하도록 브라우저들이 서로의 토큰을 복사하므로, 파서는 개별 단어가 아니라 어떤 토큰이 어떤 순서로 나타나는지를 봐야 합니다.
- 파서 도구는 페이지가 로드될 때 브라우저에서 사용자의 User Agent를 채웁니다. 파싱 자체는 서버가 아니라 브라우저에서 실행됩니다.
- 브라우저 확장 프로그램, 개인정보 보호 설정, 개발자 도구의 기기 에뮬레이션, 인앱 브라우저는 User Agent를 바꿀 수 있으므로 실제 기기를 나타내지 않을 수도 있습니다.
- 브라우저를 비교하려면 다른 기기의 문자열을 붙여넣거나 도구에서 샘플 프리셋을 선택하세요.