IT_Programming/JSP · Servlet

[펌] JSP 에서 Referer 처리

JJun ™ 2009. 1. 30. 01:33

인터넷 광고 회사나 로그분석기에서 로그를 분석할 때 특정페이지를 어디서 클릭해서 들어왔는지를

알아보기 위해 해당 페이지의 Referer를 읽어서 분석한다.

 

아래 예제는 JSP에서 Refer를 읽어서 보여주는 예제 JSP 이다.

 

중요한것은 Anchor (<a href="....">) 로 처리되는 경우와 form submit 이 되는 경우에는 referer가 남지만, javascript에서 document.location="..."  처럼 location을 변경해준 경우에는 referer가 남지 않는다는 점이다.

 

다음은 예제 JSP 이다. ( /test 디렉토리에 referer.jsp 로 저장해서 테스트하면 ok...)

 

<html>
<head>
<title>Referer 테스트</title>
<script language="javascript">
<!--
function movePage() {
 document.location = "/test/referer.jsp";
}
//-->

</script>
</head>
<body>
 <form name="form1" action="/test/referer.jsp" action="post">
 </form>
 <a href="/test/referer.jsp">GET 방식으로 처리</a><br><br>
 <a href="javascript:document.form1.submit();">POST 방식으로 처리</a><br><br>
 <a href="javascript:movePage();">JavaScript document.location을 바꿔준경우</a><br><br>
 
 Referer=[<%=request.getHeader("Referer")%>]
</body>
</html>