*メタ変数 -●・・・サーバーは必ず提供''しなければならない''。 -◎・・・サーバーは提供する''べき''である。 -○・・・定義されている。(提供しても''よい''。) 1.1 1.2 名前 ◎ [[AUTH_TYPE]] ● [[CONTENT_LENGTH]] ● [[CONTENT_TYPE]] ● [[GATEWAY_INTERFACE]] ◎ [[HTTP_*]] ● [[PATH_INFO]] ○ [[PATH_TRANSLATED]] ● [[QUERY_STRING]] ● [[REMOTE_ADDR]] ◎ [[REMOTE_HOST]] ○ [[REMOTE_IDENT]] ○ [[REMOTE_USER]] ● [[REQUEST_METHOD]] ● [[SCRIPT_NAME]] ● [[SERVER_NAME]] ● [[SERVER_PORT]] ● [[SERVER_PROTOCOL]] ● [[SERVER_SOFTWARE]] ○ [[X_*]] ※1.1 = draft 03, 1.2 = I-D になる前の原案。 サーバーはスクリプトにメタ変数を渡す方法を用意し''なければなりません''。 多くの実装では[[環境変数]]として渡されます。 [[CGI/1.1]]では、メタ変数値 null と値なしを区別しません。 どちらになるかは実装定義 (実装中では一貫している必要がある) です。 メタ変数名の大文字・小文字は区別しません。正統名は 大文字と「_」で構成されますが、実際の名前は処理系統定義です。 (メタ変数値の大文字・小文字の区別は変数により異なります。) *CGI 頭領域 (解析頭出力) 1.1 1.2 領域名 ○ [[Content-Type:領域]] ○ [[Location:領域]] ○ [[Status:欄]] ○ [[X-CGI-*:欄]] CGI 頭は、本体と空行で区切られます。継続行は認められていません。 CGI 頭欄と HTTP 頭欄は混在 (順番が) していても構いませんが、 CGI 頭欄を極力先に出力することが推奨されています。 CGI 頭欄はそれぞれ1回だけ使えます。一つの CGI 頭には、 最低1つの CGI 頭欄が必要です。つまり、上記の内1つは必ず 出力されるということです。 本体を出力する時は、[[Content-Type:領域]] を出力し''なければなりません''。 [[Location:領域]] を出力する時は、 HTTP 欄を出力し''てはいけません''。 *SEE ALSO -[[CGI/1.1]] -[[CGI/1.2]] -[[HTTP]] --[[HTTP/1.0]] --[[HTTP/1.1]] --[[NCSAのhttpd]] --[[Apache]] --[[Cookie]] -[[URI]] --[[URL]] -[[HTML]] -[[媒体型]] -[[MIME]] --[[MHTML]] -[[RFC822と仲間達の頭領域名]] -[[電子メイル]] -[[電子ニュース]] - [1] ''Common Gateway Interface - 1.1 *Draft 03*''