Servervariable는 서버의 CGI버전이나 PORT, 로그인 유저명, IP주소 등을 알려주는 컬렉션으로,
Request.Servervariable(SERVER_NAME) 혹은 Request(SERVER_NAME)처럼 사용한다.
이 것을 이용하면 현재 사이트에 접속한 사람의 서버이름 등을 알 수 있다.
이러한 것은 게시판이나 방명록에 글을 쓸 때 자신의 서버이름을 밝히지 않았음에도 불구하고 자동적으로 서버의 이름이나 IP주소가 기록할 경우에도 사용되고 있다.
여기서 우리가 사용할 수 있는 ServerVariable의 목록을 확인하기 위해서는 다음과 같은 ASP 프로그램을 작성하여
실행하면 될 것이다.
<HTML>
<HEAD>
<TITLE> ServerVariable Lists </TITLE>
</HEAD>
<BODY>
<TABLE >
<% For Each key in Request.ServerVariables %>
<TR>
<TD><% = key %></TD>
<TD>
<% if Request.ServerVariables(key) = "" Then
Response.Write " "
else
Response.Write Request.ServerVariables(key)
end if
Response.Write "</TD>"
%>
</TR>
<% Next %>
</TABLE>
</BODY>
</HTML>
여기서 우리가 사용할 수 있는 대표적인 ServerVariable을 표로 정리하면 다음과 같다.
변 수 |
설 명 |
AUTH_PASSWORD |
클라이언트의 인증 대화 상자에 입력한 값으로, 기본 인증을 사용할 때만 이용 |
AUTH_TYPE |
보호 스크립트에 접근할 때 사용자를 인증하기 위해 서버가 사용하는 인증 방법 |
AUTH_USER |
인증된 사용자 이름 |
CONTENT_LENGTH |
클라이언트에서 입력한 문장의 총길이 |
CONTENT_TYPE |
내용의 데이터 종류로, HTTP 쿼리 GET, POST 및 PUT 등의 내용을 첨부한
질의에서 사용 |
LOGON_USER |
사용자가 로그인 된 Windows NT®의 계정 |
QUERY_STRING |
HTTP 요청의 물음표(?) 다음에 오는 문자열에 저장된 쿼리 정보. |
REMOTE_ADDR |
접속한 원격 호스트의 IP 주소. |
REMOTE_HOST |
접속한 원격 호스트의 이름 |
REMOTE_USER |
사용자가 보낸 매핑 처리 되지 않은 사용자-이름 문자열.
|
REQUEST_METHOD |
데이터를 전송하는 방법으로 HTTP의 경우에는 GET이나 HEAD, POST 등이 있다. |
SCRIPT_NAME |
실행되는 스크립트의 가상 경로로, URL의 자체 참조를 위해 사용됨. |
SERVER_NAME |
URL 자체 참조에 나타나 듯이 서버의 호스트 이름, DNS 별명 또는 IP 주소 |
SERVER_PORT |
원격으로 접속한 포트 번호 |
SERVER_PROTOCOL |
프로트콜의 이름 및 버전 |
SERVER_SOFTWARE |
질의에 응답하고 게이트웨이를 실행하는 서버 소프트웨어 이름 및 버전 |
URL |
URL의 기본 위치 | |