개념
User-Agent 헤더는 HTTP 요청을 보내는 클라이언트 소프트웨어에 관한 정보를 담는 필드이다. 웹 브라우저가 보내는 문자열에는 브라우저와 운영체제, 렌더링 엔진 관련 이름이나 버전이 포함될 수 있다. 서버는 이 정보를 호환성 처리나 통계 등에 활용한다.
기기 판별의 한계
문자열에 포함된 정보가 실제 기기의 종류와 운영체제 버전을 그대로 증명하는 것은 아니다. 호환성과 개인정보 보호를 위해 일부 정보가 고정되거나 축소되기도 한다. 웹 기능을 지원하는지 판단할 때에는 문자열만으로 기기 종류를 추정하기보다 필요한 기능의 지원 여부를 직접 검사하는 방식이 권장된다.
iPad Safari의 사례
iPadOS의 Safari는 데스크톱 웹사이트와의 호환성을 위해 Mac과 같은 형태의 사용자 에이전트 정보를 사용할 수 있다. WebKit 개발진은 iPadOS가 macOS로 표시되는 보고에 대해 의도된 동작이라고 설명했다. 따라서 웹서비스에 표시된 운영체제 이름만으로 실제 접속 장치나 제3자의 접속 여부를 확정할 수 없다. 계정 보안 판단에는 접속 시간과 사용한 브라우저, 활동 내역 등도 함께 고려된다.