내 브라우저가 웹사이트에 알려주는 정보

웹사이트에 접속하는 순간, 별도의 동의창 없이도 브라우저는 이미 여러 정보를 서버에 보내고 있습니다. 어떤 브라우저인지, 어떤 운영체제인지, 화면 크기는 얼마인지 같은 정보가 매 요청마다 함께 전달됩니다. 특별한 권한 요청이나 팝업 없이 벌어지는 일이라 대부분은 이 사실 자체를 모르고 지나갑니다.
요약 ① User-Agent 문자열과 화면·시간대·언어 정보는 모든 페이지 요청에 기본으로 포함되어 있습니다 ② 사이트가 이 정보를 쓰는 이유는 대부분 모바일/PC 레이아웃 분기, 자동 번역, 오류 진단처럼 평범합니다 ③ 여러 정보를 조합하면 개인을 특정할 가능성이 생기는데, 이를 흔히 "핑거프린팅"이라 부릅니다
고객센터가 "어떤 브라우저 쓰세요?"라고 묻는 이유
웹사이트나 앱에 오류를 신고하면 십중팔구 "어떤 브라우저와 운영체제를 쓰시나요?"라는 질문이 돌아옵니다. 귀찮은 형식적 질문처럼 느껴지지만 실제로는 문제 해결에 꼭 필요한 정보입니다. 크롬, 사파리, 파이어폭스는 같은 코드를 서로 다르게 렌더링하는 경우가 있고, 같은 브라우저라도 윈도우와 macOS에서 동작이 달라지는 경우가 있기 때문입니다.
개발자 입장에서 "결제 버튼이 안 눌려요"라는 신고를 받았을 때, 그것이 특정 브라우저 엔진에서만 발생하는 문제인지 아니면 전체에서 발생하는 문제인지를 아는 것과 모르는 것은 디버깅 속도에서 큰 차이를 만듭니다. 브라우저·OS 정보는 이 좁히기 작업의 출발점입니다.
User-Agent 문자열의 정체
브라우저가 서버에 보내는 정보 중 가장 대표적인 것이 User-Agent 문자열입니다. 이 문자열 안에 브라우저 이름과 버전, 렌더링 엔진, 운영체제 정보가 텍스트로 압축되어 들어 있습니다. 웹사이트는 이 문자열의 패턴을 읽어서 "이 사용자는 iOS의 사파리로 접속했다"는 식으로 판단합니다.
이 정보가 쓰이는 곳은 대부분 평범합니다. 모바일 기기로 접속했으면 모바일 레이아웃을 보여주고, 오래된 브라우저라면 "브라우저를 업데이트해주세요" 안내를 띄우고, 사용자의 언어 설정을 읽어 UI를 자동으로 번역하는 식입니다. 별도의 개인정보 제공 동의 없이도 이 정보가 전달되는 이유는, 애초에 웹이 동작하는 기본 통신 규약에 포함되어 있기 때문입니다.
지금 내 브라우저가 뭘 보내는지 직접 확인하는 방법
이 정보를 직접 확인하려면 브라우저 개발자 도구를 열고 콘솔에 navigator.userAgent를 입력해야 합니다. 화면 해상도나 시간대, CPU 코어 수 같은 값은 각각 다른 속성 이름을 따로 찾아 하나씩 입력해야 나옵니다. 개발자가 아니라면 이 과정 자체가 진입장벽이고, 값을 하나하나 확인하다 보면 금방 번거로워집니다.
내 브라우저의 User-Agent, OS, 화면 해상도, 시간대 등을 실시간으로 확인하고 복사할 수 있습니다.
브라우저가 실제로 노출하는 값들
브라우저가 노출하는 정보는 User-Agent 문자열 하나에 그치지 않습니다. 아래는 대표적으로 확인 가능한 항목입니다.
| 항목 | 어떻게 노출되는가 |
|---|---|
| 브라우저/OS/기기 종류 | User-Agent 문자열 패턴 |
| 화면 해상도·사용 가능 영역 | screen 객체 |
| 시간대 | Intl.DateTimeFormat |
| 언어·번역 지원 언어 목록 | navigator.language(s) |
| CPU 논리 코어 수 | navigator.hardwareConcurrency |
| 대략적인 기기 메모리(GB) | navigator.deviceMemory (지원 브라우저 한정) |
| 터치스크린 지원 여부 | 터치 이벤트 지원 감지 |
각 값은 단독으로는 특별할 게 없습니다. 화면 해상도 하나, 시간대 하나만 놓고 보면 같은 값을 가진 사람이 수없이 많기 때문입니다.
"핑거프린팅"이라는 개념
문제는 이 값들을 하나씩이 아니라 여러 개 동시에 조합할 때 생깁니다. 화면 해상도, 시간대, 언어, CPU 코어 수, 설치된 폰트 목록 같은 값을 한꺼번에 모으면 조합의 경우의 수가 급격히 늘어나고, 그 결과 쿠키 없이도 특정 방문자를 어느 정도 재식별할 수 있는 조합이 만들어질 수 있습니다. 이를 브라우저 핑거프린팅이라 부릅니다.
핑거프린팅은 널리 알려진 브라우저 프라이버시 개념이지만, 정확히 몇 퍼센트의 사용자가 고유하게 식별되는지는 브라우저 종류, 확장 프로그램 사용 여부, 시점에 따라 달라지는 문제라 한 줄로 단정할 수 없습니다. 다만 "값 하나는 익명, 값 여러 개의 조합은 상황에 따라 식별력을 가질 수 있다"는 원리 자체는 분명합니다.
시크릿 모드나 VPN을 쓰면 가려질까
여기서 흔한 오해가 하나 있습니다. 시크릿(비공개) 모드는 방문 기록과 쿠키를 저장하지 않을 뿐, User-Agent나 화면 해상도, 시간대 같은 값 자체를 숨기지는 않습니다. VPN도 마찬가지로 IP 주소와 접속 지역 정보를 바꿔주지만, 브라우저가 보내는 화면·언어·하드웨어 정보에는 관여하지 않습니다.
즉 이 두 가지는 각각 다른 문제를 해결하는 도구입니다. 방문 기록을 남기지 않는 것과, 브라우저 환경 정보 자체를 숨기는 것은 별개의 작업입니다.
정리
- User-Agent 문자열과 화면·시간대·언어 정보는 별도 동의 없이 모든 페이지 요청에 포함되어 전달됩니다
- 사이트가 이 정보를 쓰는 목적은 대부분 레이아웃 분기, 자동 번역, 오류 진단 같은 평범한 용도입니다
- 고객센터나 버그 신고에서 "브라우저/OS가 뭔가요"라고 묻는 것은 바로 이 정보를 활용하기 위한 정상적인 절차입니다
- 값 하나만으로는 개인 식별이 어렵지만, 여러 값을 조합하면 식별력이 생길 수 있다는 것이 핑거프린팅의 원리입니다
- 시크릿 모드와 VPN은 각각 방문 기록, IP·지역 정보를 다루는 도구일 뿐 브라우저 환경 정보 자체를 가리지는 않습니다
내 브라우저의 User-Agent, OS, 화면 해상도, 시간대 등을 실시간으로 확인하고 복사할 수 있습니다.
자주 묻는 질문
User-Agent 문자열이 왜 이렇게 복잡하고 이상하게 생겼나요?
User-Agent 문자열은 초기 웹 브라우저 간 호환성 경쟁의 흔적이 그대로 남아 있어서 다른 브라우저 이름까지 함께 포함하는 등 형식이 복잡해졌습니다. 지금은 관행적으로 굳어진 형식을 그대로 유지하는 경우가 많아, 실제 브라우저와 무관해 보이는 이름이 문자열 안에 섞여 있는 것이 정상입니다.
시크릿 모드로 접속하면 이 정보들도 안 보이나요?
아니요. 시크릿 모드는 방문 기록, 쿠키, 로그인 세션을 새 세션이 끝나면 지우는 기능이지 User-Agent나 화면 해상도, 시간대 값 자체를 숨기지 않습니다. 이 정보는 시크릿 모드에서도 동일하게 노출됩니다.
고객센터에 문의할 때 브라우저 정보를 어떻게 확인해서 적어야 하나요?
브라우저 정보 확인 도구 페이지를 열면 지금 사용 중인 브라우저 이름, 버전, 운영체제, 화면 해상도가 바로 표시됩니다. 이 값을 복사해서 문의 내용에 그대로 붙여넣으면 별도로 하나씩 찾아 적을 필요가 없습니다.
VPN을 쓰면 브라우저 지문(핑거프린트)도 함께 가려지나요?
아닙니다. VPN은 접속 IP 주소와 지역 정보를 바꾸는 도구이고, 화면 해상도·시간대·하드웨어 코어 수 같은 브라우저 환경 정보에는 영향을 주지 않습니다. 오히려 VPN으로 표시 지역과 시스템 시간대가 어긋나면 그 자체가 하나의 특이한 조합이 되기도 합니다.
