User-Agent
HTTP 요청 Header에 포함되는 문자열로, 웹 서버에 접속하는 클라이언트(브라우저, 운영체제, 디바이스 등)를 식별하는 데 사용됩니다.
구조
브라우저 종류, 버전, 운영체제, 렌더링 엔진 등의 정보를 담고 있습니다.
User-Agent: Chrome/91.0
접근 방법
- 클라이언트(JavaScript):
navigator.userAgent로 접근합니다. - 서버: HTTP 요청 헤더에서
User-Agent값을 읽어 확인합니다.
사용 예
- 특정 브라우저에 맞는 기능 제공이나 디바이스별 최적화 판단
- 애널리틱스에서 사용자 환경(기기·브라우저) 데이터 수집
- 특정 브라우저에서만 발생하는 렌더링 버그 대응
- 기능 미지원 환경에 대한 대체 UI 제공
주의사항
User-Agent 문자열은 클라이언트가 임의로 위·변조할 수 있어 신뢰할 수 있는 식별 수단은 아닙니다. 현대적인 웹 개발에서는 User-Agent 문자열 파싱에 의존하기보다, 기능 감지(feature detection)와 반응형 디자인으로 크로스 브라우징 이슈를 해결하는 것이 권장됩니다.
핵심 정리
User-Agent는 클라이언트 환경을 식별하는 보조 정보로 활용하되, 분기 로직의 핵심 판단 기준으로는 기능 감지를 우선 고려해야 합니다.