JSP

referer을 가지고 오지 못하는 경우

질주하는구 2015. 3. 5. 10:15

각 언어별로 HTTP_REFERER를 확인하는 방법은 아래와 같습니다. 리턴값은 스트링이구요.


ASP => Request.ServerVariables("HTTP_REFERER")

PHP => $_SERVER['HTTP_REFERER']

JSP => request.getHeader("REFERER")


HTTP_REFERER의 값의 유무와 각 웹서버의 로그파일을 이용해서

어떻게 방문했는지를 추출할 수 있습니다.


1. 주소창에 주소를 입력해서 들어오는 경우

- HTTP_REFERER의 값이 없음

ex)strReferPath = Trim(Request.Servervariables("HTTP_REFERER"))

strReferPath == null ?  1 : 0 -> 1이 반환


2. '즐겨찾기'를 이용해서 들어오는 경우(IE의 경우)

- HTTP_REFERER의 값이 없음

- 로그파일에 ..../favicon.ico로그가 먼저 남는다.

- 이는 IE가 즐겨찾기를 눌러서 사이트를 방문할 경우 favicon.ico 요청을 하고, 해당 URL의 요청을 하기때문입니다.


3. 링크를 통해서 들어오는 경우.(쉽게 말해서 <a>태그를 통해)

- HTTP_REFERER에 이전 URL정보가 들어있음.


자바스크립트로 location.href를 통해 설정된 주소로 들어왔을경우 이전 주소를 알 수 없기 때문에 프로그램 

작업시 가능하면 페이지 이동은 HREF를 통해서 이루어지게 작업 해야 합니다.

반응형