Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

Steve Souders의 User Agent 파싱

몇일전에 Ajaxian에 "Parse User Agent: Harder than you thought?"라는 기사가 떴다. 근데 이 기사에 생각보다 괜찮은 정보가 많이 있었다.

User Agent는 클라이언트가 서버에 접속했을때 Request Header에 남는 정보중에 클라이언트의 접속 브라우저에 대한 정보이다. 이 정보를 통해서 사용자가 어떤 브라우저를 이용해서 접속했는지 알 수 있다.

Parse User-Agent 화면

Parse User-Agent는 내가 접속한 파이어폭스에 대한 User-Agent가 "Mozilla/5.0 (Windows; U; Windows NT 5.1; ko; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5"라고 나오고 정확히 어떤 브라우저인지 나온다. 상단의 예제를 통해서 다양한 브라우저의 User-Agent를 테스트해볼 수 있어 어떤 브라우저인지 정확히 집어내고 있다. 하단에서는 User-Agent를 분석해 주는 또다른 사이트인 UserAgentString.com의 결과와 비교해 주고 있다.

Steve Souders의 원글을 보면 Steve Souders는 User-Agent를 정확하게 분석할 수 있다고 생각했는데 생각보다 쉽지 않았고 모바일브라우저까지 정확히 분석해 내는 것은 더 쉽지 않았고 UserAgentString.com도 상당히 정확히 분석해 내고 있기는 하지만 아직까지는 사파리와 아이폰의 사파리를 구별해내지는 못하고 있다. 그래서 Steve Souders는 노력끝에 상당히 정확하게 User-Agent를 Parsing할 수 있게 되었고 이 결과물을 웬커뮤니티에 공개하고 싶어하고 싶기 때문에 일단 Parse User-Agent를 오픈했다. 그 다음 스텝으로 시간여력이 생기는 대로 웹서비스로 이용할 수 있는 형태와 코드로 이용가능한 형태를 공개할 예정이라고 한다.(빨리 공개되었으면 좋겠다. ㅎㅎㅎ)



UA Profiler 브라우져 비교테이블

Steve Souders의 또다른 프로젝트인 UA Profiler는 커뮤니티 드리븐 프로젝트로 접속한 각 사용자들이 자신의 브라우저를 통해서 테스트를 실행하고 그 결과를 수집해서 차트로 보여주고 있다. 아주래도 개발자 성향의 사이트라서 그런지 FF 3.0의 비중이 절대적으로 높은걸 볼 수 있다.

각 브라우저 버전별로 브라우저가 어떤 기능을 지원하고 있는지를 한눈에 비교해 볼 수 있다. 물론 개발자가 클라이언트의 브라우저를 선택할 수 있는 건 아니지만 중요한 자료라고 생각된다. 테스트해보면 자세히 나와서 알수 있지만 ||로 표시된건 Parallel을 뜻한다. 아무래도 실 사용자들이 테스트한 데이터라서 좀더 신뢰가 있지 않나 생각된다.

각 브라우저의 User-Agent String을 보려면 List of User Agent Strings을 보면 거의 모든 브라우저의 버전별 User-Agent String을 볼 수 있다.


덧) 스티브 사우더스가 이 책의 저자였잖아. ㅡ..ㅡ 다른 기사에서 이름이 나오길래 어라? 했더니만 엄청 유명한 사람인데도 몰라봤;; ㅋ
2009/01/25 02:21 2009/01/25 02:21