이전 페이지의 URL 링크 값이다.
프로그래밍을 하다 보면 서버 환경이나 사용자 환경, 접속자의 IP주소 등의 자바스크립트의 USER-AGENT와 같은 정보들을 수집할 수 있는 함수들이 마련되있다.
PHP에선 이를 통틀어 서버함수라 칭하고, $_SERVER 의 배열 형태로 사용할 수 있다.
$_SERVER['SERVER_NAME'] : 웹사이트 도메인
ex) experbucket.com
$_SERVER['HTTP_ACCEPT'] : 웹사이트 타입
ex) text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
$_SERVER['HTTP_ACCEPT_CHARSET'] : 웹사이트 캐릭터셋
ex) windows-949,utf-8;q=0.7,*;q=0.3
$_SERVER['HTTP_ACCEPT_ENCODING'] : 인코딩 방식
ex) gzip, deflate, sdch
$_SERVER['HTTP_ACCEPT_LANGUAGE'] : 언어
ex) ko-KR;fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
$_SERVER['HTTP_USER_AGENT'] : 웹사이트에 접속한 사용자 환경
ex) Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17
$_SERVER['REMOTE_ADDR'] : 웹사이트에 접속한 사용자 아이피
ex) xxx.xxx.xxx.xxx
$_SERVER['REMOTE_PORT'] : 웹사이트에 접속한 사용자 포트
ex) 8999
$_SERVER['SERVER_ADDR'] : 웹서버가 사용하는 아이피
ex) xxx.xxx.xxx.xxx
$_SERVER['SERVER_PORT'] : 웹서버가 사용하는 포트
ex) 80
$_SERVER['SERVER_SOFTWARE'] : 웹서버 구성 환경 (버전)
ex) Apache/2.2.22 (Win64) PHP/5.3.13
$_SERVER['GATEWAY_INTERFACE'] : CGI 정보
ex) CGI/1.1
$_SERVER['SERVER_PROTOCOL'] : 사용된 서버 프로토콜
ex) HTTP/1.1
$_SERVER['DOCUMENT_ROOT'] : 현재 웹사이트가 위치한 서버상의 위치
ex) /home/www/html
$_SERVER['SCRIPT_FILENAME'] : 실행되고 있는 위치와 파일명
ex) /home/www/html/memo/index.php
$_SERVER['REQUEST_URI'] : 현재페이지의 주소에서 도메인 제외
ex) /memo/index.php?user=
$_SERVER['PHP_SELF'] : 현재페이지의 주소에서 도메인과 넘겨지는 값 제외
ex) /memo/index.php
$_SERVER['HTTP_REFERER'] : 이전페이지의 URL 링크 값
$_SERVER['APPL_PHYSICAL_PATH'] : 현재페이지의 실제 파일 경로
출처: https://beagle-dev.tistory.com/167 [언젠간 되어있겠지]
결론 : 가져오지 못하는 경우 null로 처리되고 (PHP경우) 작업 시 페이지 이동은 왠만하면 HTML의 a태그를 통해 이루어지게 작업해야 한다.
ASP => Request.ServerVariables("HTTP_REFERER")
PHP => $_SERVER['HTTP_REFERER']
JSP => request.getHeader("REFERER")
-> 리턴값은 모두 스트링이다.