Do diffence

[요약] Android Browser User-Agent Issues 본문

Android

[요약] Android Browser User-Agent Issues

고포릿 2010. 12. 24. 09:36
[원문] http://feedproxy.google.com/~r/blogspot/hsDu/~3/NTO0ynDnf6M/android-browser-user-agent-issues.html

android developer blog에 올라온 대형 기기 등장에 따른 Web browser의 user agent 문제를 풀어내고 있다.
갤럭시 탭 등 안드로이드 생태계에서 대형기기(?)들의 등장에 따라 모바일 웹사이트 입장에서 Browser의 user agent 를 어떻게 해석해야 할 지 고민이다. 즉, 대부분 모바일 웹은 기존의 small (10인치 이하)을 기준으로 준비되어 있는 형편이다. 그런데 10인치 이상의 안드로이드 기기들이 출시가 러시를 이루고 있는 상태에서 어떻게 대처해야 할지?
대형기기는 "User agent spoofing"으로 HTTP header에 데스크탑 형식의 User agent 문자열을 넣고 있는데, 이것은 지양해야 한다. 왜냐하면 spoofed user agent는 모바일 사이트에서 안드로이드 기기로 인식할 수 없기 때문이다.

표준 안드로이드 기기들의 user agent 형식:
User-Agent: "Android", a version number, a device name, a specific build, Webkit version info, and "Mobile"
Froyo on a Nexus One
Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; Nexus One Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
여기서 "Mobile" 문자열이 웹 사이트에서 가능하다면 small-form-factor 모바일 기기를 위한 모바일 웹으로 준비할 수 있는 키워드이다. 대형기기(large-form-factor)는 아래 처럼 "Mobile"을 제거하고 사용하기를 권한다.

Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; device Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Safari/533.1
이렇게 하면 웹 사이트는 일반 데스크탑의 브라우져로 인식하고 PC-version의 웹 사이트를 제공할 수 있다. 여기서 device 키워드는 실제 제공되는 기기의 명칭으로 대체될 것이다.