CGI(公用網關接口)規定 Web 服務器調用可執行程序的接口協議。Web 服務器通過調用 CGI 程序實現與瀏覽器交互:接收表單數據、處理、將響應回送。C 語言編寫的 CGI 具備執行速度快、安全性高(編譯執行、不可修改)優勢。
stdin 從服務器獲取輸入(如表單數據),即 POST 方法。可在命令行調試。QUERY_STRING 傳遞表單數據。stdout 向服務器發送輸出,通常為純文本或 HTML,可在命令行調試查看輸出。#include <stdio.h>
#include <stdlib.h>
main() {
int i, n;
printf("Content-type:text/plain\n\n");
n = 0;
if (getenv("CONTENT-LENGTH"))
n = atoi(getenv("CONTENT-LENGTH"));
for (i = 0; i < n; i++)
putchar(getchar());
putchar('\n');
fflush(stdout);
}
程序讀取 CONTENT-LENGTH 環境變量確定輸入長度,從 stdin 讀取並原樣輸出,最後刷新輸出緩衝區。