日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

                歡迎訪問 生活随笔!

                生活随笔

                當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

                编程问答

                【Web】CGI简介

                發(fā)布時間:2023/12/20 编程问答 55 豆豆
                生活随笔 收集整理的這篇文章主要介紹了 【Web】CGI简介 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

                什么是CGI

                CGI的全稱是Common Gateway Interface,通用網(wǎng)關(guān)接口。粗略地說,CGI就是位于服務(wù)器端的處理網(wǎng)頁請求的程序。CGI程序本身是服務(wù)器操作系統(tǒng)上的一個簡單的應(yīng)用程序,它接受輸入進(jìn)行處理并輸出內(nèi)容,這些輸入輸出都又通過Web服務(wù)器軟件(比如apache)處理,最終完成需要的功能。下圖是CGI在整個網(wǎng)頁服務(wù)中的位置:

                CGI的編寫

                下面是一個CGI的基本示例:

                #include <stdio.h>int main() {printf("Content-Type: text/html\n\n");printf("hello world!\n");return 0; }

                這里使用了c語言的實現(xiàn),可以看到它其實沒有什么特別之處,但是還是需要說明幾點:首先這里使用的printf就是往標(biāo)準(zhǔn)輸出輸出字符,不過Web服務(wù)器會進(jìn)行處理轉(zhuǎn)發(fā),實際上當(dāng)然不會打印到我們的終端;其次這里有一句特殊的打印“Content-Type: text/html\n\n”,它是告訴瀏覽器接收到的文件格式的,必須要加上否則會報錯(500 Internal Server Error)。

                之后編譯也是使用最普通的方式:

                gcc test.c -o test.cgi

                只是文件名稱稍微修改了下。

                為了使用該CGI程序,需要相關(guān)的瀏覽器和Web服務(wù)器支持,瀏覽器通常沒有問題,Web服務(wù)器則需要安裝,這里使用apache服務(wù)器。

                安裝apche和配置CGI

                使用Ubuntu2004搭建服務(wù)器,首先需要安裝httpd:

                不過可以看到不能直接安裝httpd,而是需要安裝對應(yīng)的軟件包,這里就安裝apache2,它是最常用的開源服務(wù)器,安裝如下:

                安裝完成之后可以查看是否打開apache2服務(wù)器:

                從上圖可以看到已經(jīng)打開了。為了進(jìn)一步證明,最好的辦法就是打開apache服務(wù)器的網(wǎng)頁,我們可以直接使用本機(jī)的IP(127.0.0.1或localhost)來訪問該服務(wù)器,如圖所示:

                到這里就說明apache服務(wù)器已經(jīng)正常搭建。上述的網(wǎng)頁其實就存放在如下的目錄,當(dāng)我們打開網(wǎng)頁并輸入本機(jī)地址之后,apache服務(wù)器就將該網(wǎng)頁輸出:

                之后是配置CGI。apche服務(wù)器是支持CGI的,但是默認(rèn)沒有開啟,注意下圖中的兩個目錄:

                mode-enabled目錄下是當(dāng)前開啟的,而mod-available是當(dāng)前支持的,如下所示,這里是有cgi相關(guān)的支持的:

                我們需要將上面的cgid.conf,cgid.load和cgi.load映射到mod-enabled目錄中,下面是具體的命令,注意需要使用root權(quán)限:

                ln -s /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-enabled/cgid.conf ln -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/cgid.load ln -s /etc/apache2/mods-available/cgi.load /etc/apache2/mods-enabled/cgi.load

                之后重啟apache服務(wù):

                /etc/init.d/apache2 restart

                默認(rèn)存放cgi程序的目錄是/usr/lib/cgi-bin,后面新建的程序放在該目錄即可使用,對應(yīng)的網(wǎng)頁是/cgi-bin/xxx.cgi。這里是相對路徑,xxx.cgi是程序名。

                CGI的使用

                前面已經(jīng)編譯出了需要的CGI程序,只需要將該文件放到apache服務(wù)器指定的目錄(cgi程序默認(rèn)存放目錄/usr/lib/cgi-bin)即可。之后就可以通過瀏覽器和apache服務(wù)器訪問該CGI,如下所示:

                以上就是CGI的簡要說明。

                總結(jié)

                以上是生活随笔為你收集整理的【Web】CGI简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

                如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。