CGI環境変数
(内容が古い)
Webサーバーにはあらかじめ予約されている環境変数がある。
この環境変数は CGI変数とも呼ばれ、CGIスクリプト上で使用することができる。
Cの場合 getenv("変数名")関数を、Perl の場合$ENV{'変数名'} で取り出すことができる。
SERVER_SOFTWARE
SERVER_SOFTWARE変数には、サーバーソフトウェアのタイプが入る。
"サーバ名/バージョン"というフォーマットである。(例: NCSA/1.42)
SERVER_NAME
SERVER_NAME変数には、Webサーバーのホスト名またはIPアドレスが入る。
GATEWAY_INTERFACE
GATEWAY_INTERFACE変数には、Webサーバーが使用しているCGIのバージョン(一般にCGI/1.1)が入る。
SERVER_PROTOCOL
SERVER_PROTOCOL変数には、HTTPプロトコルのバージョン、一般にHTTP/1.0になっている。
SERVER_PORT
SERVER_PORT変数には、WWWサーバがHTTPの通信に使用しているTCPポート番号が入ります。一般に80が使用されています。
REQUEST_METHOD
REQUEST_METHOD 変数には、クライアントの要求のメソッドが入ります。
このメソッドには7つのHTTPメソッド(GET, POST, HEAD, PUT, DELETE, LINK, UNLINK)のうち一つが入ります。
PATH_INFO
PATH_INFO変数には、CGIに渡すパス情報が入ります。従って、QUERY_STRING と同様に入力引数渡しとして使用する事もできます。
PATH_TRANSLATED
PATH_TRANSLATED変数には、PATH_INFOのURL部に一致するシステムフルパス名が入ります。
SCRIPT_NAME
SCRIPT_NAME変数には、このCGIスクリプトのパス名、URL形式で入ります。
QUERY_STRING
QUERY_STRING変数にはGETメソッド形式で実行された場合の入力引数、"?"マーク以下全てが入ります。
REMOTE_HOST
REMOTE_HOST変数には、実行されたスクリプトのホスト名が入ります。
REMOTE_ADDR
REMOTE_ADDR変数には、実行されたスクリプトのIPアドレスが入ります。
AUTH_TYPE
サーバがユーザ認証機能がサポートされていたり、スクリプトがプロテクトされている場合に使われている認証方式プロトコル名が入ります。
現在サポートされている認証方式は、Basic、MD5などがあります。
REMOTE_USER
スクリプトを実行したのユーザ名、サーバで認証機能が使われている場合にのみ送られます。
REMOTE_IDENT
WWWサーバでidentが実行されていた場合、identによって返される値が含まれます。
CONTENT_TYPE
POST形式で実行される場合の形式は application/x-www-form-urlencodedが入ります。
CONTENT_LENGTH
CONTENT_LENGTH変数には、CGIスクリプトがPOST形式で実行される場合の標準入力のバイト数が入ります。
HTTP_ACCEPT
HTTP_ACCEPT変数には、HTTP Acceptヘッダで定義されたブラウザが許している Content-typeのリストが入ります。全てが許される場合、'*/*'となります。
HTTP_USER_AGENT
HTTP_USER_AGENT変数には、ブラウザの情報、ブラウザのプログラム名、バージョン番号等が入ります。一般には software/version library/versionという形式です。
HTTP_REFERER
直前に参照していたURL、ブラウザによって送らないものもあります。