关于利用C语言撰写CGI程式的部分,这也是之前人家面试的时候,所询问我的另外一个问题,经过这几天上网找资料,并且撰写之后,将一些心得整理出来,希望能帮助到有一些疑问的人。其实利用关键字‘C语言、CGI、GET、POST’还是可以找到蛮多相关的网页,大部分的资料都嫌老旧,并且都是由同一个作者撰写而出(不过倒是有蛮多人复制在自己的网站上面–_____–”“),所以在此为各位整理一些概念,而繁琐的程式码(关于将STRING去spilit并且找出变数对应值)就不再详述,可参考以下这个网址,在这里只专注于观念上的叙述,希望带给大家一些基本的概念。
**不论哪种网页服务器的主机(IIS、Apache),对于档案可否执行(execute)的权限管理相当严格,尤其是Apache,要由网络上执行某些档案(通常是CGI),都必须透过,httpd.conf 这个档案里面的设定才行(通常预设是 cgi-bin/ ) 。另一方面,对于IIS的设定就方便多了,只要启动IIS Service将该目录可执行的权限打开,就可以执行CGI程式。
P.S. 算是FAQ的问题,请注意即便可以执行 C语言的请编译好用修改权限为可以执行的档案。
**在这里要跟大家讲解对于网页而言,其实与一般的C语言程式没有两样,重点在于输出与输入的界面(UI)。相较于一般的C语言程式,利用C来撰写的CGI其输入与输出都不一样,首先在输出方面,最不一样的就是CGI有以下的输出
这个就是代表这是一个网页的程式,记住”Content-type: text/htmlnn”这段文字尽量不要修改,并且连空白都要注意好(没有注意好,网页服务器会误认为其他可执行档案而变成可以下载,而非当成CGI程式),所以根据这个,以下为一个基本的CGI程式