ServerVariables コレクションは、環境変数の値を取得します。
Request.ServerVariables (variable)
variable
取得するサーバー環境変数の名前を指定します。次のいずれかの値を指定できます。
変数 |
説明 |
AUTH_TYPE |
ユーザーが保護されたスクリプトにアクセスしようとしたときにサーバーがそのユーザーを照合するために使用する認証メソッドです。 |
CONTENT_LENGTH |
クライアントから提供されるコンテンツの長さです。 |
CONTENT_TYPE |
コンテンツのデータ型です。HTTP クエリーの POST や PUT など、情報が既に添付されているクエリーで使われます。 |
GATEWAY_INTERFACE |
サーバーで使用する CGI 仕様のリビジョン番号です。"CGI/リビジョン" という形式で示されます。 |
HTTP_<HeaderName> |
HeaderName に格納されている値です。この表に列挙されているもの以外の任意のヘッダーには、ServerVariables コレクションがその値を取得できるように、必ずその前にプリフィックス "HTTP_" を付ける必要があります。 注意 サーバーは、HeaderName 内にあるアンダスコア文字 (_) のうち、実際のヘッダー部分にあるものをダッシュ記号 (-) として解釈します。たとえば、HTTP_MY_HEADER と指定した場合、サーバーは MY-HEADER として送られたヘッダーを探します。 |
LOGON_USER |
ユーザーがログインした Windows NT(R) アカウントです。 |
PATH_INFO |
クライアントから提供される補足パス情報です。このサーバー変数 PATH_INFO と仮想パスを使ってスクリプトにアクセスできます。この情報が URL からのものである場合は、サーバーによってデコードされてから CGI スクリプトに渡されます。 |
PATH_TRANSLATED |
PATH_INFO が変換されたものです。パスをたどって必要な仮想-物理マッピングを実行します。 |
QUERY_STRING |
HTTP 要求内の疑問符 (?) の後の文字列に格納されているクエリー情報です。 |
REMOTE_ADDR |
要求を出したリモート ホストの IP アドレスです。 |
REMOTE_HOST |
要求を出したホストの名前です。サーバーがこの情報を持っていない場合、サーバーは REMOTE_ADDR を設定してこの変数を空にします。 |
REQUEST_METHOD |
要求を出すために使われたメソッドです。HTTP では GET、HEAD、POST などがあります。 |
SCRIPT_MAP |
URL のベース部分を示します。 |
SCRIPT_NAME |
実行されたスクリプトへの仮想パスです。このパスは自己参照 URL の場合に使われます。 |
SERVER_NAME |
自己参照 URL 内に出現する、サーバーのホスト名、DNS エイリアス、または IP アドレスです。 |
SERVER_PORT |
要求が送られたポート番号です。 |
SERVER_PORT_SECURE |
0 または 1 が格納される文字列です。要求が安全なポート上で処理された場合は 1 になり、そうでない場合は 0 になります。 |
SERVER_PROTOCOL |
要求情報プロトコルの名前とリビジョン番号です。"プロトコル/リビジョン" という形式で示されます。 |
SERVER_SOFTWARE |
要求に応答している (ゲートウェイを実行している) サーバー ソフトウェアの名前とバージョンです。"名前/バージョン" という形式で示されます。 |
URL |
URL のベース部分を示します。 |
クライアントが上の表に示したもの以外のヘッダーを送信する場合は、Request.ServerVariables 呼び出しの中でヘッダー名の前に "HTTP_" を付けることで、ヘッダーの値を取得できます。たとえば、クライアントが次のヘッダーを送信したとします。
SomeNewHeader:SomeNewValue
この場合、次の構文を使って SomeNewValue を取得できます。
<% Request.ServerVariables("HTTP_SomeNewHeader") %>
ループを使うと個々のサーバー変数名を解析できます。たとえば、次のスクリプトはすべてのサーバー変数名を表形式で出力します。
<TABLE>
<TR><TD><B>Server Variable</B></TD><TD><B>Value</B></TD></TR>
<% For Each name In Request.ServerVariables %>
<TR><TD> <%= name %> </TD><TD> <%= Request.ServerVariables(name) %> </TD></TR>
</TABLE>
<% Next %>
次の例は、Request オブジェクトを使ってサーバー変数の一部を表示します。
<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>
次の例は、ServerVariables コレクションを使ってサーバーの名前にハイパーリンクを挿入します。
<A HREF = "http://<%= Request.ServerVariables("SERVER_NAME") %>
/scripts/MyPage.asp">MyPage.asp へのリンク</A>
ClientCertificate、Cookies、 Form、QueryString