Movatterモバイル変換


[0]ホーム

URL:


メイン コンテンツにスキップ

このブラウザーはサポートされなくなりました。

Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

Microsoft Edge をダウンロードするInternet Explorer と Microsoft Edge の詳細情報
目次エディター モードを終了する

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_PATHISAPI DLL 用のアプリケーションのメタベース パスを取得します。
    APPL_PHYSICAL_PATHメタベース パスに対応する物理パスを取得します。IIS は、この値を返すときに、APPL_MD_PATH を物理 (ディレクトリ) パスに変換します。
    AUTH_PASSWORDクライアントの認証ダイアログに入力された値です。この変数は、基本認証が使用されている場合にのみ利用できます。
    AUTH_TYPE保護されたスクリプトにユーザーがアクセスしようとしたときに、サーバーがそのユーザーを確認するために使用する認証方法です。
    AUTH_USER元の形式のままの認証ユーザー名です。
    CERT_COOKIEクライアント証明書の一意の ID が文字列として返されます。クライアント証明書全体の署名として使用できます。
    CERT_FLAGSクライアント証明書が存在する場合は、bit0 は 1 に設定されます。

    クライアント証明書の証明機関が無効な場合 (該当する証明機関がサーバー上の既知の CA の一覧に存在しない場合) は、bit1 は 1 に設定されます。

    CERT_ISSUERクライアント証明書の Issuer フィールドです (O=MS、OU=IAS、CN=ユーザー名、C=USA)。
    CERT_KEYSIZESSL 接続キー サイズのビット数 (128 など) です。
    CERT_SECRETKEYSIZEサーバー証明書秘密キーのビット数 (1024 など) です。
    CERT_SERIALNUMBERクライアント証明書のシリアル番号フィールドです。
    CERT_SERVER_ISSUERサーバー証明書の Issuer フィールドです。
    CERT_SERVER_SUBJECTサーバー証明書の Subject フィールドです。
    CERT_SUBJECTクライアント証明書の Subject フィールドです。
    CONTENT_LENGTHクライアントから提供されるコンテンツの長さです。
    CONTENT_TYPEコンテンツのデータ型です。HTTP クエリの GET、POST、PUT など、情報が既に添付されているクエリで使用されます。
    GATEWAY_INTERFACEサーバーで使用する CGI 仕様のリビジョン番号です。"CGI/revision" という形式で示されます。
    HTTP_<HeaderName>HeaderName に格納されている値です。この表に列挙されているもの以外の任意のヘッダーには、ServerVariables コレクションがその値を取得できるように、必ずその前にプリフィックス "HTTP_" を付ける必要があります。

       サーバーは、HeaderName 内にあるアンダスコア文字 (_) のうち、実際のヘッダー部分にあるものをダッシュ記号 (-) として解釈します。たとえば、HTTP_MY_HEADER と指定した場合、サーバーは MY-HEADER として送られたヘッダーを探します。

    HTTP_ACCEPTAccept ヘッダーの値を返します。
    HTTP_ACCEPT_LANGUAGEコンテンツの表示に使用する言語を説明する文字列を返します。
    HTTP_USER_AGENT要求を送信したブラウザを説明する文字列を返します。
    HTTP_COOKIE要求に含まれている cookie 文字列を返します。
    HTTP_REFERERリダイレクトが発生したときに、元の要求の URL を含む文字列を返します。
    HTTPS保護されたチャンネル (SSL) を経由して要求を受け取った場合は ON を返します。保護されていないチャンネルに対する要求の場合は OFF を返します。
    HTTPS_KEYSIZESSL 接続キー サイズのビット数 (128 など) です。
    HTTPS_SECRETKEYSIZEサーバー証明書秘密キーのビット数 (1024 など) です。
    HTTPS_SERVER_ISSUERサーバー証明書の Issuer フィールドです。
    HTTPS_SERVER_SUBJECTサーバー証明書の Subject フィールドです。
    INSTANCE_IDIIS インスタンスの ID を文字形式で表したものです。インスタンス ID が 1 の場合、1 が文字列として表示されます。この変数を使用すると、要求が属する (メタベース内の) Web サーバー インスタンスの ID を取得できます。
    INSTANCE_META_PATH要求に応答する IIS のインスタンスのメタベース パスです。
    LOCAL_ADDR要求を受け取ったサーバー アドレスを返します。これは、コンピュータに複数の IP アドレスがバインドされている可能性のあるマルチホーム コンピュータで、要求が使用したアドレスを特定する場合に重要な情報です。
    LOGON_USERユーザーがログインした Windows アカウントです。
    PATH_INFOクライアントから提供される補足パス情報です。このサーバー変数 PATH_INFO と仮想パスを使用してスクリプトにアクセスできます。この情報が URL からのものである場合は、サーバーによってデコードされてから CGI スクリプトに渡されます。
    PATH_TRANSLATEDPATH_INFO が変換されたものです。パスをたどって必要な仮想パスと物理パスの間のマッピングを実行します。
    QUERY_STRINGHTTP 要求内の疑問符 (?) の後の文字列に格納されているクエリ情報です。
    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_SECURE0 または 1 が格納される文字列です。保護されたポート上で要求が処理された場合は 1、そうでない場合は 0 になります。
    SERVER_PROTOCOL要求情報プロトコルの名前とリビジョン番号です。"protocol/revision" という形式で示されます。
    SERVER_SOFTWARE要求に応答してゲートウェイを実行するサーバー ソフトウェアの名前とバージョンです。"name/version" という形式で示されます。
    URLURL のベース部分を示します。
解説

クライアントが上の表に示したもの以外のヘッダーを送信した場合は、Request.ServerVariables への呼び出しの中でヘッダー名の前に "HTTP_" を付けることで、ヘッダーの値を取得できます。たとえば、クライアントが次のヘッダーを送信したとします。

SomeNewHeader:SomeNewValue

この場合、次の構文を使用してSomeNewValue を取得できます。

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

ループを使用して個々のサーバー変数名を解析できます。たとえば、次のスクリプトはすべてのサーバー変数名を表形式で出力します。

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

次の例は、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">Link to MyPage.asp</A>
対象

Request オブジェクト

関連項目

ClientCertificateCookiesFormQueryString


  • Last updated on

この記事の内容