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를 통해서 이루어지게 작업 해야 합니다.
반응형