2017-08-10 1 views
0

入力(http要求のヘッダーと本文)と応答のstdoutにstdinとstoutがあるのは明らかです。しかし、私はCGIプロトコル上で 'SCRIPT_NAME'や 'PATH'のような値を渡すために使用されるメカニズムの明確な説明を見つけることができません。おそらく全体的に環境変数についてのより一般的な疑問であろう(最初は異なっているように見える)。 CGI変数はどこからフェッチされていますか?呼び出されたプログラムにCGI環境変数がどのように渡されますか?

+0

ウェブサーバーがプログラムの変数をどのように設定するのだろうか?または、あなたのプログラムで*を*フェッチする方法は?後者(プログラムでそれらを取得する方法)については、あなたがプログラミングしている言語のように、私たちにもっと多くの情報を与える必要があります。 –

+0

どのようにメカニズムがあるのだろうか?それはプログラムと呼ばれ、どのようにプログラムがそれを読んでいるのですか。私は、言語特有の「砂糖」が仕事をしていることを知っています。 –

+0

それは本当に広いです。 'GET'と' POST'パラメータを解析する方法はありますが、自分自身を調べることができるものはいくつかあります。プロセスの仕組みまた、親プロセスが子プロセスの環境変数を設定する方法。 –

答えて

0

httpサーバプロセスは、CGIスクリプトを実行する子プロセスを生成します。環境変数としてhttpヘッダーを処理する子プロセスに渡します。あなたが好きなのであれば、あなたのC++プログラムで同じことをすることができます。 CreateProcess(ウィンドウ下)を実行し、新しい子プロセスの環境を設定します。それからそれを実行してください!

関連する問題