環境変数
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の仕組み 前へ |
次へ クッキー(Cookie) |