안녕하세요, 오늘은 User-Agent 속성을 통해서 PC와 Mobile을 구분하는 방법에 대해서 알아보도록 하겠습니다. 우선 User-Agent가 무엇인지 알아야겠죠?? User-Agent는 사용자의 디바이스 정보와 웹브라우저에 대한 정보를 가지고 있습니다.
// User-Agent를 통해 모바일 여부 판단
public static Boolean isMobile(HttpServletRequest req) {
Boolrean res = false;
String userAgent = req.getHeader("User-Agent").toUpperCase();
if(userAgent.indexOf("MOBI") > -1) {
res = true;
}
return res;
}
위의 예제와 같이 User-Agent에 "MOBI" 키워드가 포함되어 있다면 사용자의 디바이스는 모바일이라고 할 수 있습니다.
브라우저 | 규칙 | 예제 |
Mozilla (Gecko, Firefox) | Mobile or Tablet token in the comment. | Mozilla/5.0 (Android; Mobile; rv:13.0) Gecko/13.0 Firefox/13.0 |
WebKit-based (Android, Safari) | Mobile Safari tokenoutside the comment. | Mozilla/5.0 (Linux; U; Android 4.0.3; de-ch; HTC Sensation Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 |
Blink-based (Chromium, Google Chrome, Opera 15+) | Mobile Safari tokenoutside the comment | Mozilla/5.0 (Linux; Android 4.4.2); Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Mobile Safari/537.36 OPR/20.0.1396.72047 |
Presto-based (Opera 12-) | Opera Mobi/xyz tokenin the comment (Opera 12-) | Opera/9.80 (Android 2.3.3; Linux; Opera Mobi/ADR-1111101157; U; es-ES) Presto/2.9.201 Version/11.50 |
Internet Explorer |
IEMobile/xyz token in the comment. | Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0) |
[JAVA] 자바 21 버전 특징 및 새로운 기능 (0) | 2024.11.28 |
---|---|
[JAVA] 접근 제어자(private, protected, public) 차이점 (0) | 2024.11.26 |
[JAVA] UUID 클래스 고유식별자, RANDOM 데이터 추출 (0) | 2022.05.10 |
[JAVA] 문자열 마지막 콤마 제거하기(꿀팁) (0) | 2022.01.18 |
[JAVA] 문자열 대소문자로 변환하는 가장 쉬운 방법(꿀팁) (0) | 2022.01.17 |