1. 什么是CGI? 
CGI 是通用网关接口(Common Gateway Interface)的缩写. 它主要用于服务器端动态输出客户端的请求(如,HTML页面/二进制文件). 也就是说客户端请求参数不同, 服务器端会给出不同的应答结果.. 
CGI 标准将这个接口定义的非常简单 (即: WEB 服务器收到客户端的请求后通过环境变量和标准输入(stdin)将数据传递给CGI程序, CGI程序通过标准输出(stdout) 将数据返回给客户端). 所以只要能操作标准输入/输出的程序语言都可以CGI程序, Perl/C++/JAVA/VB等. 
2. CSP/ASP/JSP/PHP/PERL 与CGI程序的关系? 
严格来讲, 它们全都是CGI的变种, 因为它们的操作原理都是CGI. 而在又在CGI的基础上作了进一步的包装, 屏蔽了CGI的与程序语言相关的接口. 如从环境变量和标准输出中获取参数被包装成 getParameter(),将数据输出到标准输出被包装成 “=”, print(), echo() 等. 万变没离其踪. 
3.为什么要包装? 
如同将TCP/IP协议进行分层一样, 目的都是简化操作的难度. CSP/ASP/JSP/PHP/PERL等都提供了各自的操作接口, 另外CSP/ASP/JSP/PHP等直接将 C/C++ /VBS/JS/JAVA/PHP语句嵌入到HTML模板文件中, 还能很好地对输出流程进行控制. 
web编程语言有哪些4. 为什么还直接用CGI呢?. 
目前说直接用CGI主要是指直接用 C/C++/PERL等编写CGI源文件, 它们共同的缺点就是没用HTML模板文件进行流程控制, 输出操作相对复杂些. 但直接用 C/C++编写CGI还具有如下优势和原因: 
(1) 高效率, C/C++ 不像PERL/VBS/JS等解释执行语言运行时解释执行源文件中的语句. 同时这一点仍非JAVA/PHP等所能及. 所以C/C++仍是许多WEB应用的首选, 特点是大型WEB应用中. 
(2) 嵌入式设备(如PDA/数码产品/通信产品)WEB应用的首选, 目前几乎所有的嵌入式设备都直接用C语言开发, 而CPU/内存/外存等的限制几乎根本不可能安装如PERL/ASP/JSP的运行环境, 所以嵌入式设备上C开发CGI几乎仍是唯一选择. 
5. 将 C 直接嵌入到HTML中叫CSP吗? 
是的, C 语言天然好的"移植性/高效性/灵活性", 一直以来都是最受程序员青睐的语言, 现在用CSP 技术我们就可以轻松地将 C 语句直接嵌入到 HTML 源文件中了, 它编程过程跟ASP/JSP/PHP 几乎一样. 甚至有些时候, 就可以直接拿 JSP/PHP 的源文件作为 CSP 的源文件了, 因为它们都用 <% 和 %> 进行标记. 
如果你对 CGI有兴趣, 可以: 
下载并运行的CGI示例程序(还包括一个web 服务器, 共 217K): 
[url]build/develop/demoshow.htm[/url] 
免费下载CSP的开发环境 eybuild (Windows/Linux版): 
[url]build/develop/download/[/url]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。