#echo

#echo 지시어는 웹 서버가 서버 변수의 값을 표시하도록 지시합니다. 지시어는 HTML 설명 구분 기호로 묶어 주어야 합니다.

이 지시어는 기본적으로 STM 페이지에서만 사용할 수 있으며, ASP 페이지에서는 사용할 수 없습니다. ASP 페이지의 경우 Request.ServerVariables 컬렉션을 사용하여 서버 변수를 액세스할 수 있습니다.

구문

<!-- #echo var = VariableName -->

매개 변수

VariableName

값을 삽입할 변수 이름을 지정합니다. 변수 목록은 다음과 같습니다.

변수 의미
ALL_HTTP 이 표에서 설명된 다른 변수 중 하나로 분석되지 않은 모든 HTTP 헤더입니다. 이들 변수는 HTTP_header field name 형태로 되어 있습니다. 헤더는 null로 끝나는 문자열로 이루어지며, 각각 캐리지 리턴 줄 바꿈으로 구분되는 헤더들이 포함됩니다.
AUTH_TYPE 사용하고 있는 인증 형식이 포함됩니다. 예를 들어, 기본 인증을 사용하는 경우에는 문자열 값이 "기본"이 되고, 통합 인증에 대해서는 "통합 Windows 인증"이 됩니다. 인증 계획에 따라 다른 문자열이 사용됩니다. 웹 서버에는 새로운 인증 형식을 추가할 수 있기 때문에 가능한 모든 문자열을 제시하는 것은 불가능합니다. 문자열이 비어 있으면 아무런 인증도 사용하지 않는 것입니다.
AUTH_PASSWORD 클라이언트 인증 대화 상자에 입력하는 값입니다. 이 변수는 기본 인증을 사용할 때만 이용할 수 있습니다.
AUTH_USER 클라이언트 인증 대화 상자에 입력하는 값입니다.
CONTENT_LENGTH 스크립트가 클라이언트로부터 받을 바이트 수입니다.
CONTENT_TYPE POST 요청 본문에 제공되는 정보의 컨텐트 형식입니다.
DOCUMENT_NAME 현재 파일 이름입니다.
DOCUMENT_URI 현재 문서에 대한 가상 경로입니다.
DATE_GMT GMT(그리니치 표준시)로 표시한 현재 날짜입니다.
DATE_LOCAL 현지 시간으로 표시한 현재 날짜입니다.
GATEWAY_INTERFACE 웹 서버에서 사용된 CGI 기능 수정입니다. 이 수정은 CGI/revision 형식으로 보내집니다.
HTTP_ACCEPT 특별한 경우의 HTTP 헤더입니다. accept 필드의 값은 쉼표(,)로 연결되어 있습니다. 예를 들어, 다음 줄은 HTTP 헤더의 일부입니다.

   accept:*/*; q=0.1
  accept: text/html
  accept: image/jpeg

HTTP_ACCEPT 변수는 다음 값을 가집니다.

   */*; q=0.1, text/html, image/jpeg

LAST_MODIFIED 현재 문서가 마지막으로 수정된 날짜입니다.
PATH_INFO 클라이언트가 제공하는 추가 경로 정보로서, 스크립트 이름 다음과 쿼리 문자열 앞에 오는 URL 뒷부분으로 구성됩니다.
PATH_TRANSLATED PATH_INFO의 값으로서, 디렉터리 지정으로 확장된 가상 경로가 포함됩니다.
QUERY_STRING 이 스크립트를 참조했던 URL의 물음표(?) 다음에 나오는 정보입니다.
QUERY_STRING_UNESCAPED 이스케이프가 붙지 않은 쿼리 문자열입니다. 즉, URL로 인코드되지 않은 버전입니다.
REMOTE_ADDR 요청을 보낸 클라이언트 또는 클라이언트 에이전트(예: 게이트웨이 또는 방화벽)의 IP 주소입니다.
REMOTE_HOST 요청을 보낸 클라이언트 또는 클라이언트 에이전트(예: 게이트웨이 또는 방화벽)의 호스트 이름입니다. IIS 2.0과 3.0에서는 이 매개 변수에 대한 IP 주소를 반환합니다.
REMOTE_USER 클라이언트가 서버의 인증을 통과한 경우 클라이언트의 사용자 이름을 포함합니다. 응용 프로그램에서 익명 액세스를 사용하는 경우 빈 문자열로 표시됩니다.
REQUEST_METHOD HTTP 요청 메서드입니다.
SCRIPT_NAME 실행 중인 스크립트 프로그램 이름입니다.
SERVER_NAME 자체 참조 URL에서 나타나는 대로의 서버의 호스트 이름 또는 IP 주소입니다.
SERVER_PORT 요청을 받은 TCP/IP 포트입니다.
SERVER_PORT_SECURE 0 또는 1의 문자열입니다. 보안 포트에서 요청이 처리될 경우에는 1이고 그렇지 않을 경우는 0입니다.
SERVER_PROTOCOL 이 요청과 관련된 정보 검색 프로토콜의 이름과 버전입니다. 대개는 HTTP/1.0입니다. 이 프로토콜은 이름/버전 형식으로 반환됩니다.
SERVER_SOFTWARE 요청에 응답하는 웹 서버의 이름과 버전입니다. 서버 정보는 이름/버전 형식으로 반환됩니다.
URL URL의 기본적인 부분을 제공합니다. 매개 변수 값은 포함되지 않습니다. 이 값은 웹 서버가 헤더에서 URL을 분석할 때 결정됩니다.

중요   지시어가 포함된 파일에는 SSI 인터프리터로 연결되는 파일 확장명을 사용해야 합니다. 그렇지 않으면 웹 서버가 지시어를 처리할 수 없습니다. 기본적으로 .stm, .shtm, .shtml 등의 파일 확장명이 SSI 인터프리터(ssinc.dll)로 매핑됩니다.

#echo 지시어를 사용한 STM 페이지는 자체적으로 실행되거나, Response.Redirect가 있는 ASP 페이지로부터 해당 STM 페이지를 호출하여 실행되어야 합니다. Server.Transfer, Server.Execute 또는 #include가 있는 ASP 페이지로부터 STM 페이지를 호출하면 작동하지 않습니다. 왜냐하면, 이것은 STM 페이지로 하여금 ssinc.dll이 아닌 asp.dll에서 실행되도록 하기 때문입니다.

IIS 스냅인이 설치된 경우에는 기본 확장명 매핑을 수정하고 새 매핑을 추가할 수 있습니다. 응용 프로그램 매핑 설정을 참조하십시오. 두 개 이상의 실행 파일에 파일 확장명을 매핑할 수 없으므로 파일에 이 지시어를 사용할 수 없습니다. ASP 파일은 이미 asp.dl로 매핑되어 있으며 그대로 유지되어야 합니다.

예제

이것은 #echo 지시어를 사용하여 FORM 문의 ACTION 값에 URL을 삽입하는 예제입니다.

--- Echo.asp ---

<FORM NAME="RunEcho" METHOD="POST" ACTION="Echo.asp">
<INPUT TYPE="SUBMIT" VALUE="Run the #echo Directive" NAME="RunEcho">
</FORM>
<%
If Len(Request.Form("RunEcho")) Then
  Response.Redirect("Echo.stm?Echo.asp")
End If
%>

--- Echo.stm ---

<H3>Inside Echo.stm</H3>
AUTH_TYPE is <!-- #echo var="AUTH_TYPE"--><BR>
<FORM NAME="Return" METHOD="POST" ACTION="<!-- #echo var="QUERY_STRING"-->">
<INPUT TYPE="SUBMIT" VALUE="Return to Previous Page" NAME="Return">
</FORM>

© 1997-2001 Microsoft Corporation. All rights reserved.