User-Agent 문자열을 분석하고 브라우저 운영체제 확인하는 방법
User-Agent 문자열을 입력하면 지원되는 규칙에 따라 브라우저, 운영체제, 렌더링 엔진, 기기 유형을 분류할 수 있습니다. 입력을 생략하면 분류 대신 오류 표시와 예시 User-Agent가 제공됩니다.
User-Agent 문자열로 확인할 수 있는 항목
User-Agent는 브라우저가 요청을 보낼 때 함께 전달할 수 있는 텍스트로, 브라우저와 운영체제, 기기 환경을 추정하는 단서가 들어 있습니다. 이 도구는 입력한 문자열에서 지원되는 표기를 찾아 브라우저 이름과 버전, 운영체제와 버전, 렌더링 엔진, 기기 유형을 항목별로 분류합니다. Chrome과 Firefox처럼 인식 가능한 표기가 있으면 이름과 점으로 구분된 버전 정보가 함께 표시될 수 있습니다. Windows, macOS, Android, iOS, Linux에 해당하는 단서가 있으면 운영체제 분류에도 반영될 수 있으며, AppleWebKit이나 Gecko의 조건에 맞는 표기는 엔진 결과에 사용될 수 있습니다. 긴 문자열을 직접 읽기 어려울 때 항목별 결과를 나누어 살피거나, 서로 다른 User-Agent를 비교할 때 활용하기 좋습니다.
다만 문자열을 사람처럼 해석하는 방식은 아닙니다. 지원되는 패턴과 정해진 검사 순서에 따라 결과가 정해지므로, 입력한 원문을 함께 보면서 각 항목을 판단해야 합니다. 값이 있어도 특정 항목에 맞는 표기를 찾지 못하면 Unknown이 표시될 수 있습니다. 이 도구는 입력된 텍스트를 분류하는 데 초점을 두며, 표시된 결과를 실제 환경에 대한 단정으로 넓혀 읽지 않는 것이 좋습니다.
문자열을 넣고 분류 결과 확인하기
- 확인하려는 User-Agent 원문을 준비합니다. 브라우저 정보에서 복사한 값이라면 앞뒤를 임의로 자르지 말고, 비교에 필요한 문자열을 그대로 사용합니다. 문자열의 일부가 빠지면 브라우저나 운영체제, 기기 판단에 쓰이는 단서도 함께 사라질 수 있습니다.
- 입력 영역에 값을 붙여 넣습니다. 입력은 선택 사항이지만, 아무 값도 넣지 않으면 분류 대신 오류 표시와 예시 User-Agent가 제공됩니다. 실제 분류를 확인하려면 비어 있지 않은 문자열을 입력해야 합니다.
- 화면의 처리 조작을 선택해 입력값을 분석합니다. 결과가 나타나면 브라우저 이름과 버전, 운영체제와 버전, 엔진, 기기 항목을 서로 나누어 확인합니다.
- 브라우저 항목은 표기의 포함 여부만 보지 말고 제외 조건도 함께 살핍니다. Chrome/이 있어도 Chromium, Edg/, OPR/가 함께 있으면 Chrome 조건에서 제외될 수 있습니다. Firefox/는 Seamonkey가 포함될 때 같은 조건으로 제외될 수 있고, Safari는 Chrome 표기가 없는 경우에 확인됩니다. Edg/, OPR/, Opera는 뒤의 별도 검사 대상이 될 수 있습니다.
- 운영체제 항목에서 Windows, macOS, Android, iOS, Linux 표기를 확인하고, 맞는 버전 형식이 있을 때 정리된 버전이 나타나는지 봅니다. 엔진 항목에서는 AppleWebKit 또는 Gecko에 맞는 표기가 반영되었는지 확인합니다.
- 기기 항목은 최종 표시를 기준으로 읽습니다. Android나 iPhone이 먼저 Mobile을 만들고 iPad가 Tablet을 만들 수 있지만, 뒤의 Mobile, Tablet, bot, crawler, spider 검사 결과가 앞선 값을 바꿀 수 있습니다. 마지막으로 Mobile 표시와 봇 표시를 기기 결과와 대조합니다.
우선순위와 Unknown 결과를 해석하는 기준
각 결과는 입력 문자열에서 조건에 맞는 단서를 정해진 순서로 찾아 얻은 분류값입니다. 여러 브라우저 표기가 한 문자열에 섞여 있다면 앞부분에 나온 이름 하나만 보고 결론을 내리지 말고, Chrome과 Firefox의 제외 조건 및 뒤쪽 검사까지 확인해야 합니다. 예를 들어 Chrome/이 보이더라도 Chromium, Edg/, OPR/가 있으면 Chrome으로 처리되지 않을 수 있습니다. Safari는 Chrome이 없는 경우라는 조건이 있고, Edg/, OPR/, Opera는 별도의 확인 대상이 될 수 있습니다.
운영체제와 기기 결과도 같은 방식으로 읽습니다. Android나 iPhone을 보고 Mobile이라고 예상했더라도 뒤에서 Tablet 또는 봇 관련 표기가 확인되면 최종 기기 값이 달라질 수 있습니다. 모바일 표시가 참이 되려면 최종 기기가 Mobile이어야 하며, 봇 표시는 최종 기기가 Bot/Crawler일 때만 참입니다. 따라서 중간에 보이는 단서보다 최종 항목을 우선해서 확인합니다.
입력이 비어 있지 않은데 Unknown이 나타났다면 해당 항목을 채울 지원 패턴이 발견되지 않았다는 뜻입니다. Unknown만으로 실제 브라우저나 운영체제가 없다고 판단할 수는 없습니다. 원문이 잘려 있거나 변형된 형식인지도 살펴보되, 결과를 표준 준수나 완전한 식별의 근거로 확대하지 마세요. 필요한 경우 원문과 항목별 결과를 나란히 비교하면 어떤 단서가 반영되지 않았는지 파악하기 쉽습니다.
사용 예시
브라우저 정보에서 복사한 문자열이 Chrome 요청에 해당하는지 확인하려는 상황입니다.
Chrome 표기가 포함된 문자열을 확인하려고 입력 영역에 Mozilla/5.0 Chrome/120.0.0.0 Safari/537.36을 붙여 넣고 처리한 뒤 브라우저와 버전 항목을 살핍니다.
브라우저 항목은 Chrome으로, 브라우저 버전은 120.0.0.0으로 표시될 수 있습니다. 운영체제, 운영체제 버전, 엔진, 기기 항목은 입력 문자열에서 인식된 값 또는 Unknown 형태로 나타날 수 있습니다.
제한 사항
- 결과는 지원되는 패턴과 정해진 검사 순서에 해당하는 입력을 바탕으로 하므로, 지원되지 않는 형식까지 인식하거나 결과를 완전한 식별과 정확성의 보증으로 해석할 수는 없습니다.
자주 발생하는 오류
- 입력 영역을 비운 채 처리하면 분류 결과가 아니라 오류 표시와 예시가 나옵니다. 확인할 User-Agent 전체 문자열을 붙여 넣은 뒤 다시 분석하세요.
자주 묻는 질문
User-Agent를 입력하지 않아도 분류 결과를 볼 수 있나요?
입력 없이 처리 조작을 선택할 수는 있지만, 그 상태에서는 분류가 진행되지 않고 오류 표시와 예시 User-Agent가 제공됩니다. 실제 항목별 결과를 보려면 확인할 문자열을 입력해야 합니다. 빈 값은 유효한 분류값으로 취급되지 않습니다.
Chrome과 Firefox의 버전도 확인할 수 있나요?
Chrome/ 또는 Firefox/가 지원 조건에 맞으면 브라우저 이름으로 분류될 수 있습니다. 해당 표기 뒤에 점으로 구분된 버전 형식이 있으면 그 버전 텍스트도 함께 추출될 수 있으므로, 이름과 버전 항목을 따로 확인하세요.
Unknown은 어떤 뜻인가요?
비어 있지 않은 문자열에서도 특정 항목에 맞는 지원 패턴이 없으면 Unknown이 표시될 수 있습니다. 이 표시는 값을 제공할 일치 단서를 찾지 못했다는 의미이며, 실제 브라우저나 운영체제의 존재 여부를 판정하는 표현은 아닙니다.