2017-08-10 27 views
0

很明顯,我們有用於輸入(http請求標頭和主體)的stdin和stout以及用於響應的stdout。但我無法找到用於通過CGI協議傳遞像'SCRIPT_NAME'或'PATH'這樣的值的機制的簡單解釋。整體來說,這可能是關於環境變量的更一般的問題(起初看起來不同)。 從哪裏獲取CGI變量?如何將CGI環境變量傳遞給被調用的程序?

+0

您是否想知道Web服務器如何爲您的程序設置變量?或者如何在你的程序中獲取它們*對於後者(如何在你的程序中獲取它們),那麼你需要給我們更多的東西,比如你正在編程的語言。 –

+0

我不知道什麼是機制,所以雙方都感興趣,服務器如何設置它們的個體實例所謂的程序以及程序(where)如何讀取它。我知道語言特定的「糖」做任務,我只想知道發生了什麼。 –

+0

這真的很廣泛。有幾件事你可以研究自己,但是如何解析'GET'和'POST'參數;流程如何工作;以及父進程如何設置子進程的環境變量。 –

回答

0

http服務器進程生成一個運行CGI腳本的子進程。它將http頭作爲環境變量傳遞給處理子進程。如果你喜歡,你可以在你的C++程序中做同樣的事情。只需做CreateProcess(在windows下)並設置新的子進程的環境。然後運行它!

相關問題