環境変数

 WebブラウザがWebサーバーにWebページを要求する際には、WebページのURLのみならずいくつかの情報を一緒に送っています。例えばWebブラウザのブラウザ情報などがそうですが、こう言った情報を「環境変数」と呼んでいます。環境変数はCGI/SSIやJavaScriptなどで扱う事が出来ますが、使える環境変数はCGIとSSIとでは若干異なります。

 Perl環境では、環境変数は%ENVと言う連想配列に格納されています。キーはそれぞれの環境変数名で、環境変数の呼び出しは以下のようになります。

$ENV{'環境変数名'};

主な環境変数

 CGIで使える主要な環境変数には、以下のようなものがあります。

環境変数

意味

CONTENT_LENGTH 標準入力に格納された、POSTによるフォームデータのバイト数を格納している。
GATEWAY_INTERFACE Webサーバーが実行しているCGIのバージョンを格納している。大抵はCGI/1.1である。
HTTP_ACCEPT Webブラウザが直接扱えるContent-typeの一覧。
HTTP_COOKIE クッキー情報を格納している。
HTTP_HOST ドメイン名を格納している。
HTTP_REFERER CGIを起動したWebページのURLを格納している。
HTTP_USER_AGENT CGIのページを要求したWebブラウザの情報。WebブラウザとOSを特定できるような情報を格納している。
PATH パスを格納している。
QUERY_STRING GETにおけるWebサーバーに送られる情報が格納されている。URlにおける「?」の後ろの部分を格納している。
REMOTE_ADDR 訪問者のIPアドレスを格納している。
REMOTE_HOST 訪問者のホスト名を格納している。ただし、ホスト名が分からない場合は、IPアドレスを格納している。
REQUEST_METHOD スクリプトへのデータの受け渡し方法が格納されている。GETかPOST
SCRIPT_NAME CGIスクリプト名(URL)を格納している。
SERVER_ADMIN Webサーバーの管理者に関する情報を格納している。
SERVER_NAME CGIスクリプトを実行しているマシンのホスト名、またはIPアドレスを格納している。
SERVER_PROTOCOL Webサーバーが実行しているHTTPプロトコルのバージョンを格納している。大抵はHTTP/1.0である。
SERVER_PORT Webサーバーが使用しているTCP/IPのポート番号を格納している。大抵は80である。
SERVER_SOFTWARE CGIスクリプトを起動したWebサーバーの名称が格納されている。

実際の使い方

 Perlスクリプトで実際に使う場合は、以下のように呼び出して変数に格納してから使います。

$softagent = $ENV{'HTTP_USER_AGENT'};

$cookies = $ENV{'HTTP_COOKIE'};

CGIの仕組み 前へ

HOME

次へ クッキー(Cookie)