본문 바로가기
Web

[JavaScript/JSP/JSTL]클라이언트 브라우저 정보 확인하기

by 페이퍼클립 2017. 5. 16.

안녕하세요 스탭코딩 게시글 작성자 페이퍼클립입니다.


웹이서 클라이언트가 사용하는 브라우저의 정보는 html의 header에 저장됩니다.


클라이언트의 브라우저 정보를 확인 하는 방법은 크게 3가지가 있습니다.


1. JavaScript를 이용한 정보 호출


1
2
3
4
5
6
<head>
<script>
    var userAgentInfo = window.navigator.userAgent;
    document.write(userAgentInfo);
</script>
</head>
cs



2. JSP(java code)를 이용한 정보 호출


1
2
3
4
5
6
<body>
    <%
        String userAgentInfo = request.getHeader("User-Agent");
        out.print(userAgentInfo);
    %>
</body>
cs



3. JSTL을 이용한 정보 호출


1
2
3
4
5
6
7
8
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<body>
    <c:set var="userAgentInfo" value="${header['User-Agent']}" />
    <c:out value="${userAgentInfo}" />
</body>
</html>
cs

 



[ 호출 결과 ]



Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36



저는 크롬으로 페이지(리소스)를 실행하여 위와 같은 결과를 얻었습니다. (브라우저별 호출 결과는 아래 링크한 모질라 홈페이지에서 확인 할 수 있습니다)


아래에 호출 결과를 분석하는 내용 추가했습니다.


내용과 저의 호출 결과를 보면 저의 브라우저는 모질라 기반으로 시스템은 원도우 NT 10.0 64비트 버전을 사용하고 있고  Gecko기반과 유사한 애플웹킷, 크롬, 사파리 중 하나의 브라우저를 사용한다는 의미입니다. 세 브라우저는 모우 호환가능 한것으로 판단됩니다.








  • Mozilla/5.0 는 일반적으로 사용 브라우저가 모질라와 호환가능 함을 의미하며, 현재 대부분의 브라우저에 해당합니다.
  • platform 은 브라우저가 실행중인 기본 플랫폼과 휴대전화(윈도우, 맥 리눅스, 안드로이드 등) 인지 여부를 나타냅니다. 파이어 폭스 OS폰은 단순히 Mobile이라고 표시됩니다. 플랫폼은 여러 개의 세미콜론으로 설명됩니다.
  • rv:geckoversion은 Gecko의 출시 버전을 나타냅니다(예:"17.0"). 최근 브라우저에서 geckoversion은 파이어폭스 버전과 동일합니다.
  • Gecko/geckotrail 은 브라우저가 Gecko을 기반으로한다는 것을 나타냅니다.
  • 데스크톱에서 geckotrail 은 고정 문자열 "20100101"입니다.
  • Firefox/firefoxversion은 브라우저가 Firefox입을 나타내며 "17.0"은 버전을 의미합니다.



검색중에 User-Agent와 관련해서 자세히 블로깅해 둔 페이지가 있어서 링크합니다. http://ohgyun.com/292




출처 : 모질라 (https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/User-Agent)