ServerVariables

ServerVariables 컬렉션은 미리 정의된 환경 변수 값을 검색합니다.

구문

Request.ServerVariables (server environment variable)

매개 변수

server environment variable
검색할 서버 환경 변수 이름을 지정합니다. 이 값은 다음 중 하나가 될 수 있습니다.
변수 설명
ALL_HTTP 클라이언트가 보낸 모든 HTTP 헤더입니다.
ALL_RAW 원본 형식으로 된 모든 헤더를 검색합니다. ALL_RAW와 ALL_HTTP의 차이는 ALL_HTTP에서는 헤더 이름 앞에 HTTP_ 접두사가 오고 헤더 이름을 항상 대문자로 사용하며, ALL_RAW에서는 헤더 이름과 값이 클라이언트가 보낼 때만 나타난다는 것입니다.
APPL_MD_PATH ISAPI DLL용 응용 프로그램의 메타베이스 경로를 검색합니다.
APPL_PHYSICAL_PATH 메타베이스 경로에 해당하는 실제 경로를 검색합니다. IIS는 APPI_MD_PATH를 실제(디렉터리) 경로로 변환하여 이 값을 반환합니다.
AUTH_PASSWORD 클라이언트의 인증 대화 상자에 입력한 값입니다. 이 변수는 기본 인증을 사용할 때만 이용할 수 있습니다.
AUTH_TYPE 사용자가 보호된 스크립트에 액세스할 때 사용자를 인증하기 위해 서버가 사용하는 인증 메서드입니다.
AUTH_USER 인증된 사용자 이름입니다.
CERT_COOKIE 클라이언트 인증서의 고유 ID로, 문자열로 반환됩니다. 전체 클라이언트 인증서의 서명으로 사용될 수도 있습니다.
CERT_FLAGS 클라이언트 인증서가 있는 경우 bit0은 1로 설정됩니다.

클라이언트 인증서의 cCertification 인증 기관이 유효하지 않을 경우(서버의 CA 목록에 없는 경우) bit1은 1로 설정됩니다.

CERT_ISSUER 클라이언트 인증서의 발급자 필드(O=MS, OU=IAS, CN=사용자 이름, C=USA)입니다.
CERT_KEYSIZE SSL(Secure Sockets Layer) 연결 키 크기의 비트 수입니다. 예를 들어, 128이 있습니다.
CERT_SECRETKEYSIZE 서버 인증서 개인 키의 비트 수입니다. 예를 들어, 1024가 있습니다.
CERT_SERIALNUMBER 클라이언트 인증서의 일련 번호 필드입니다.
CERT_SERVER_ISSUER 서버 인증서의 발급자 필드입니다.
CERT_SERVER_SUBJECT 서버 인증서의 제목 필드입니다.
CERT_SUBJECT 클라이언트 인증서의 제목 필드입니다.
CONTENT_LENGTH 클라이언트가 제공한 컨텐트의 길이입니다.
CONTENT_TYPE 컨텐트의 데이터 종류입니다. HTTP 쿼리 GET, POST 및 PUT 등과 같이 컨텐트를 첨부한 쿼리에 사용됩니다.
GATEWAY_INTERFACE 서버가 사용하는 CGI 사양의 수정 버전입니다. 형식은 CGI/revision입니다.
HTTP_<HeaderName> HeaderName 헤더에 저장된 값입니다. 이 표에 열거되지 않은 모든 다른 헤더는 HTTP_ 접두사로 시작해야만 ServerVariables 컬렉션에서 그 값을 검색할 수 있습니다.

참고   서버는 HeaderName에 있는 모든 밑줄(_)을 실제 헤더에서는 대시로 해석합니다. 예를 들어, HTTP_MY_HEADER를 지정하면 서버는 MY-HEADER로 보내진 헤더를 찾습니다.

HTTP_ACCEPT Accept 헤더의 값을 반환합니다.
HTTP_ACCEPT_LANGUAGE 컨텐트를 표시하는 데 사용할 언어를 설명하는 문자열을 반환합니다.
HTTP_USER_AGENT 요청을 보낸 브라우저를 설명하는 문자열을 반환합니다.
HTTP_COOKIE 요청에 포함된 쿠키 문자열을 반환합니다.
HTTP_REFERER 요청에 대해 현재 페이지를 참조했던 페이지 URL이 있는 문자열을 반환하지만 리디렉션 요청은 하지 않습니다. 리디렉션 요청은 캡처되지 않습니다.
HTTPS 보안 채널(SSL)을 통해 요청이 오면 ON을 반환하고, 요청이 보안 되지 않은 채널에 대한 것이면 OFF를 반환합니다.
HTTPS_KEYSIZE SSL(Secure Sockets Layer) 연결 키 크기의 비트 수입니다. 예를 들어, 128이 있습니다.
HTTPS_SECRETKEYSIZE 서버 인증서 개인 키의 비트 수입니다. 예를 들어, 1024가 있습니다.
HTTPS_SERVER_ISSUER 서버 인증서의 발급자 필드입니다.
HTTPS_SERVER_SUBJECT 서버 인증서의 제목 필드입니다.
INSTANCE_ID 텍스트 형식으로 된 IIS 인스턴스의 ID로, 인스턴스 ID가 1이면 문자열로 나타납니다. 이 변수를 사용하여 요청이 속하는 (메타베이스의) 웹 서버 인스턴스의 ID를 검색할 수 있습니다.
INSTANCE_META_PATH 요청에 응답하는 IIS 인스턴스의 메타베이스 경로입니다.
LOCAL_ADDR 요청이 들어온 서버 주소를 반환합니다. 이것은 한 컴퓨터에 IP 주소를 여러 개 바인딩할 수 있는 멀티홈 컴퓨터에서 요청이 사용한 주소를 찾기를 원할 경우 중요합니다.
LOGON_USER 사용자가 로그인된 Windows 계정입니다.
PATH_INFO 클라이언트가 제공한 추가 경로 정보입니다. 실제 경로와 PATH_INFO 서버 변수를 사용하여 스크립트에 액세스할 수 있습니다. 이 정보가 URL에서 오는 경우에는 CGI 스크립트로 전달되기 전에 서버에 의해 먼저 디코드됩니다.
PATH_TRANSLATED 경로를 취하여 필요한 가상 경로에서 실제 경로로의 매핑을 수행하는 PATH_INFO의 변환 버전입니다.
QUERY_STRING HTTP 요청에서 물음표(?) 다음에 오는 문자열로 저장된 쿼리 정보입니다.
REMOTE_ADDR 요청을 만드는 원격 호스트의 IP 주소입니다.
REMOTE_HOST 요청을 만드는 호스트 이름입니다. 서버에 이 정보가 없으면 REMOTE_ADDR을 설정하고 이것을 빈 상태로 둡니다.
REMOTE_USER 사용자가 보낸 매핑되지 않은 사용자 이름 문자열입니다. 이것은 실제로 사용자가 보내는 이름으로 서버에 설치된 인증 필터로 수정된 이름과는 반대되는 개념입니다.
REQUEST_METHOD 요청을 만들기 위해 사용한 메서드입니다. HTTP의 경우 GET이나 HEAD, POST 등이 있습니다.
SCRIPT_NAME 실행될 스크립트의 가상 경로입니다. 이것은 자체 참조 URL용으로 사용됩니다.
SERVER_NAME 자체 참조 URL로 나타날 때 서버의 호스트 이름, DNS 별칭 또는 IP 주소입니다.
SERVER_PORT 요청이 보내진 포트 번호입니다.
SERVER_PORT_SECURE 0 또는 1을 포함하는 문자열입니다. 요청이 보안 포트에서 처리되면 1이고 그렇지 않으면 0입니다.
SERVER_PROTOCOL 요청 정보 프로트콜의 이름 및 수정 버전입니다. 형식은 protocol/revision입니다.
SERVER_SOFTWARE 요청에 응답하고 게이트웨이를 실행하는 서버 소프트웨어 이름과 버전입니다. 형식은 name/version입니다.
URL URL의 기본 구역을 제공합니다.

주의

클라이언트가 위의 표에서 지정된 헤더가 아닌 다른 헤더를 보내는 경우 Request.ServerVariable의 호출에서 헤더 이름 앞에 HTTP_ 접두사를 붙임으로써 헤더의 값을 검색할 수 있습니다. 예를 들어, 클라이언트가 다음 헤더를 보낸 경우

  SomeNewHeader:SomeNewValue

다음 구문을 사용하여 SomeNewValue를 검색할 수 있습니다.

  <% Request.ServerVariables("HTTP_SomeNewHeader") %>
 

예제

이것은 여러 서버 변수를 이름별로 표시하는 예제입니다.

<HTML>
<!-- This example displays the content of several ServerVariables. --> 
ALL_HTTP server variable = 
<%= Request.ServerVariables("ALL_HTTP") %> <BR>
CONTENT_LENGTH server variable = 
<%= Request.ServerVariables("CONTENT_LENGTH") %> <BR> 
CONTENT_TYPE server variable = 
<%= Request.ServerVariables("CONTENT_TYPE") %> <BR>
QUERY_STRING server variable = 
<%= Request.ServerVariables("QUERY_STRING") %> <BR> 
SERVER_SOFTWARE server variable = 
<%= Request.ServerVariables("SERVER_SOFTWARE") %> <BR> 
</HTML>

이것은 각 루프에 VBScript를 사용하여 기존의 서버 변수 이름을 반복하는 예제입니다. 익명 액세스를 허용한 경우 일부는 비어있게 됩니다. 예를 들어, 다음 스크립트는 모든 서버 변수를 표로 인쇄합니다.

<TABLE BORDER="1">
<TR><TD><B>Server Variable</B></TD><TD><B>Value</B></TD></TR>
<% For Each strKey In Request.ServerVariables %> 
<TR>
<TD><%= strKey %></TD>
<TD><%= Request.ServerVariables(strKey) %></TD>
</TR>
<% Next %>
</TABLE>
 

이것은 하이퍼링크에 서버 이름을 삽입하는 예제입니다.

<A HREF= "http://<%=Request.ServerVariables("SERVER_NAME")%>/scripts/MyPage.asp">
Link to MyPage.asp
</A>
 

적용

Request 개체

관련 항목

ClientCertificate, Cookies, Form, QueryString


© 1997-2001 Microsoft Corporation. All rights reserved.