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