回覆列表
-
1 # 使用者8068248308008
-
2 # 創業小白1988
1、Web伺服器透過呼叫CGI程式實現和Web瀏覽器的互動,也就是CGI程式接受Web瀏覽器傳送給Web伺服器的資訊,進行處理,將響應結果再回送給Web伺服器及Web瀏覽器。CGI程式一般完成Web網頁中表單(Form)資料的處理、資料庫查詢和實現與傳統應用系統的整合等工作。CGI程式可以用任何程式設計語言編寫,如Shell指令碼語言、Perl、Fortran、Pascal、C語言等。但是用C語言編寫的CGI程式具有執行速度快、安全性高(因為C語言程式是編譯執行且不可被修改)等特點。CGI介面標準包括標準輸入、環境變數、標準輸出三部分。
2、標準輸入CGI程式像其他可執行程式一樣,可透過標準輸入(stdin)從Web伺服器得到輸入資訊,如Form中的資料,這就是所謂的向CGI程式傳遞資料的POST方法。這意味著在作業系統命令列狀態可執行CGI程式,對CGI程式進行除錯。POST方法是常用的方法,本文將以此方法為例,分析CGI程式設計的方法、過程和技巧。
3、環境變數作業系統提供了許多環境變數,它們定義了程式的執行環境,應用程式可以存取它們。Web伺服器和CGI介面又另外設定了自己的一些環境變數,用來向CGI程式傳遞一些重要的引數。
前面的資料庫沒有實踐過,我就不好講了。後面的CGI程式我在linux下用c語言是這麼寫的:recvstrlen = getenv("CONTENT_LENGTH");//獲取引數列表的長度len=atoi(recvstrlen);recvstr =(char*)malloc(len+1);fgets(recvstr,len+1,stdin);//讀取引數列表/*在此新增提取引數的程式碼*/引數列表是從標準輸入中讀取的,以字串的形式出現,引數列表的格式取決於請求方式:GET請求:格式為name1=value1&name2=value2&……POST請求:格式為name1/value1&name2/value2&……另外還要注意無法顯示的字元會以%+ASCII的形式轉義,你也需要去處理。