環境変数を利用すると、Webプログラムを設置したサーバ環境の情報やWebアプリケーションの状態等を取得することができます。
以下に、環境変数の説明、およびPerl、PHP、Javaによる主な環境変数の取得方法を記載します。
「CGI(Perl)」で環境変数を取得するサンプルプログラム
「PHP」で環境変数を取得するサンプルプログラム
「Javaサーブレット」で環境変数を取得するサンプルプログラム
「JSP」で環境変数を取得するサンプルプログラム
SERVER_NAME
説明 |
実行したCGIを設置しているサーバのホスト名です。 |
|
$ENV{"SERVER_NAME"} |
|
$_SERVER["SERVER_NAME"]
$HTTP_SERVER_VARS["SERVER_NAME"]
(PHP4.0.6以前の記述法) |
|
javax.servlet.ServletRequest#getServerName() |
|
GATEWAY_INTERFACE
説明 |
CGIのバージョンです。 |
|
$ENV{"GATEWAY_INTERFACE"} |
|
$_SERVER["GATEWAY_INTERFACE"]
$HTTP_SERVER_VARS["GATEWAY_INTERFACE"]
(PHP4.0.6以前の記述法) |
|
− |
|
SERVER_PROTOCOL
説明 |
CGIに対してリクエストする時に、使用したプロトコル名とバージョンです。 |
|
$ENV{"SERVER_PROTOCOL"} |
|
$_SERVER["SERVER_PROTOCOL"]
$HTTP_SERVER_VARS["SERVER_PROTOCOL"]
(PHP4.0.6以前の記述法) |
|
javax.servlet.ServletRequest#getProtocol() |
|
REQUEST_METHOD
説明 |
リクエストの際に使用したメソッド。HTTPの場合は"GET",
"POST", "HEAD"などがあります。
|
|
$ENV{"REQUEST_METHOD"} |
|
$_SERVER["REQUEST_METHOD"]
$HTTP_SERVER_VARS["REQUEST_METHOD"]
(PHP4.0.6以前の記述法) |
|
javax.servlet.http.HttpServletRequest#getMethod() |
|
PATH_INFO
説明 |
拡張パス情報が格納されます。たとえば、「http://iwamode.net/cgi-bin/test.cgi/extra/」というURLでtest.cgiを実行した場合は、PATH_INFOには「/extra/」という文字列になります。 |
|
$ENV{"PATH_INFO"} |
|
$_SERVER["PATH_INFO"]
$HTTP_SERVER_VARS["PATH_INFO"] (PHP4.0.6以前の記述法) |
|
javax.servlet.http.HttpServletRequest#getPathInfo() |
|
SCRIPT_NAME
説明 |
スクリプト(CGI)が実行される仮想パスです。自分自身のURLを参照する時に使用します。クエリ情報は付加されません。
|
|
$ENV{"SCRIPT_NAME"} |
|
$_SERVER["SCRIPT_NAME"]
$HTTP_SERVER_VARS["SCRIPT_NAME"]
(PHP4.0.6以前の記述法) |
|
javax.servlet.http.HttpServletRequest#getServletPath() |
|
QUERY_STRING
説明 |
URLの"?"より後ろの文字列を取得します。これはクエリ情報といいます。 |
|
$ENV{"QUERY_STRING"} |
|
$_SERVER["QUERY_STRING"]
$HTTP_SERVER_VARS["QUERY_STRING"]
(PHP4.0.6以前の記述法) |
|
javax.servlet.http.HttpServletRequest#getQueryString() |
|
REMOTE_ADDR
説明 |
CGIにリクエストを送った送信元のサーバのIPアドレスです。 |
|
$ENV{"REMOTE_ADDR"} |
|
$_SERVER["REMOTE_ADDR"]
$HTTP_SERVER_SERVER["REMOTE_ADDR"]
(PHP4.0.6以前の記述法) |
|
javax.servlet.ServletRequest#getRemoteAddr() |
|
REMOTE_HOST
説明 |
CGIにリクエストを送った送信元のサーバのホスト名です。この情報がサーバに無い場合は、空となります。
取得できない場合は、REMOTE_ADDRを取得してください。 |
|
$ENV{"REMOTE_HOST"} |
|
$_SERVER["REMOTE_HOST"]
$HTTP_SERVER_SERVER["REMOTE_HOST"]
(PHP4.0.6以前の記述法) |
|
javax.servlet.ServletRequest#getRemoteHost() |
|
CONTENT_LENGTH
説明 |
標準入力のバイト数(リクエストデータのデータのバイト数)。 |
|
$ENV{"CONTENT_LENGTH"} |
|
$_SERVER["CONTENT_LENGTH"]
$HTTP_SERVER_VARS["CONTENT_LENGTH"]
(PHP4.0.6以前の記述法) |
|
javax.servlet.ServletRequest#getContentLength() |
|
HTTP_USER_AGENT
説明 |
ユーザが使用しているブラウザ情報です。 |
|
$ENV{"HTTP_USER_AGENT"} |
|
$_SERVER["HTTP_USER_AGENT"]
$HTTP_SERVER_VARS["HTTP_USER_AGENT"]
(PHP4.0.6以前の記述法) |
|
javax.servlet.ServletRequest#getHeader("User-Agent") |
|
HTTP_REFERER
説明 |
アクセスしたCGIの直前のページのURLです。 |
|
$ENV{"HTTP_REFERER"} |
|
$_SERVER["HTTP_REFERER"]
$HTTP_SERVER_VARS["HTTP_REFERER"]
(PHP4.0.6以前の記述法) |
|
javax.servlet.ServletRequest#getHeader("Referer") |
|
HTTP_COOKIE
| 説明 |
クッキー情報がセットされます。 |
| |
$ENV{"HTTP_COOKIE"} |
| |
$_SERVER["HTTP_COOKIE"]
$HTTP_SERVER_VARS["HTTP_COOKIE"]
(PHP4.0.6以前の記述法) |
| |
javax.servlet.http.Cookie#getValue() |
|
「CGI(Perl)」で環境変数を取得するサンプルプログラム
「PHP」で環境変数を取得するサンプルプログラム
「Javaサーブレット」で環境変数を取得するサンプルプログラム
「JSP」で環境変数を取得するサンプルプログラム