#echo

#echo ディレクティブは、サーバー変数の値を表示するよう、Web サーバーに命令します。ディレクティブは、HTML のコメント デリミタで囲む必要があります。

既定値では、このディレクティブは STM ページでのみ使用できます。ASP ページでは使用できません。ASP ページの場合、Request.ServerVariables コレクションを使ってサーバー変数にアクセスできます。

構文

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

パラメータ

VariableName

挿入する値の変数の名前を指定します。変数は、次のいずれか 1 つを指定できます。

変数 意味
ALL_HTTP この表の変数に解析されていないすべての HTTP ヘッダーです。これらの変数は、HTTP_header field name という形式をとります。ヘッダーは、NULL で終了する文字列です。各ヘッダーは、キャリッジ リターン ライン フィードで区切られます。
AUTH_TYPE 使用されている認証の種類が含まれます。たとえば、基本認証が使用されている場合、文字列は「Basic」になり、統合認証の場合は、「Negotiate」になります。ほかの認証方法の場合は、ほかの文字列になります。Web サーバーには新しい認証の種類を追加できるため、使用されるすべての文字列を列挙することはできません。文字列が空の場合、認証は使用されていません。
AUTH_PASSWORD クライアントの認証ダイアログ ボックスに入力された値です。この変数は、基本認証が使用されている場合にのみ利用できます。
AUTH_USER クライアントの認証ダイアログ ボックスに入力された値です。
CONTENT_LENGTH スクリプトがクライアントから受け取る予定のバイト数です。
CONTENT_TYPE POST 要求の本文に含まれる情報のコンテンツの種類です。
DOCUMENT_NAME 現在のファイル名です。
DOCUMENT_URI 現在のドキュメントへの仮想パスです。
DATE_GMT グリニッジ標準時 (GMT) における現在の日付です。
DATE_LOCAL 現地のタイム ゾーンにおける現在の日付です。
GATEWAY_INTERFACE Web サーバーで使用される 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 となります。プロトコルは、name/version の形式で返されます。
SERVER_SOFTWARE 要求に応答する Web サーバーの名前とバージョンです。サーバー情報は、name/version の形式で返されます。
URL URL のベース部分を示します。パラメータ値は含まれません。Web サーバーが、ヘッダーから URL を解析したとき、この値は決定されます。
 

重要   このディレクティブが入ったファイルには、SSI インタプリタにマップされるファイル名拡張子を使う必要があります。拡張子が異なると、Web サーバーはディレクティブを処理しません。既定では、ファイル名拡張子 .stm、.shtm、および .shtml が SSI インタプリタ (ssinc.dll) にマップされます。

#echo ディレクティブを使用する STM ページは、それ自身または ASP ページから Response.Redirect を使用して実行する必要があります。STM ページを ASP ページから Server.Transfer、Server.Execute、または #include を使用して呼び出すと、STM ページが ssinc.dll ではなく asp.dll を通過するよう強制されるため、機能しません。

IIS スナップインをインストールしている場合、既定の拡張子マッピングを変更して新しいマッピングを追加できます。詳細については、「アプリケーションのマッピングを設定する」を参照してください。ファイル拡張子を複数の実行可能ファイルにマップすることはできないため、このディレクティブを ASP ファイルでは使用できません。ASP ファイルは、既に asp.dll にマップされていて、そのまま保持する必要があります。

この例では、#echo ディレクティブを使用して URL を FORM ステートメントの ACTION 値に挿入します。

--- 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.