[Up] [Next] [Previous]

CGI環境変数

サーバにはあらかじめ予約されている環境変数があります。この環境変数は CGI変数とも呼ばれ、CGIスクリプト上で使用することができます。Cの場合 getenv("変数名")関数を、Perl の場合$ENV{'変数名'} で取り出すことができます。

SERVER_SOFTWARE

SERVER_SOFTWARE変数には、サーバソフトウェアのタイプが入ります。"サーバ 名/バージョン"というフォーマットです。(例: NCSA/1.42)

SERVER_NAME

SERVER_NAME変数には、WWWサーバのホスト名またはIPアドレスが入ります。

GATEWAY_INTERFACE

GATEWAY_INTERFACE変数には、WWWサーバが使用している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 と同様に入力引数渡しとして使用する事もできます。
<A HREF="/cgi-bin/test-cgi/month=april/year=1995">サンプル</A>
サンプルのテスト

のようにしたい場合、PATH_INFOには、 "/month=april/year=1995"が入ります。

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、ブラウザによって送らないものもあります。


[Up] [Next] [Previous]