httpd.conf
の中の
Exec template scriptの template と一致した場合のみ、scriptを CGIとして起動する。 (Exec設定) template および script の中のワイルドカード `
*
' はCGIのファイル名以降すべてを指し、
ここからCGIスクリプトのパス名と PATH_INFO を取り出す。httpd.conf
に
Exec /cgi-bin/* /usr/lib/httpd/cgi-bin/*と設定されているとする。
http://samplehost/cgi-bin/test-cgi/pathinfo?keyword1+keyword2へアクセスすると、サーバーは
PATH_INFO
に/pathinfo
を
設定し、
QUERY_STRING
にkeyword1+keyword2
を
設定し、
/usr/lib/httpd/cgi-bin/test-cgi keyword1 keyword2
を
実行する。
QUERY_STRING に `=
' が
含まれていないため、サーバーはこれをISINDEX形式と解釈して
argvに QUERY_STRING をデコードして渡す。
http://samplehost/cgi-bin/test-cgi/name=John+Doe&gender=maleへGETメソッドでアクセスすると、
QUERY_STRING
にname=John+Doe&gender=male
を
設定し、
/usr/lib/httpd/cgi-bin/test-cgi
を
実行する。=
'が含まれているので
argv[1]は空である。