随着 IT 行业的蓬勃发展,网站也变得越来越复杂。在上个世纪九十年代出现了动态技术,但是服务器并不能直接运行 php 、asp 这类文件。自己不能做,外包给别人吧,这就需要与外包者建立约定:我给你什么,然后你给我什么,就是我把请求参数发送给你,然后你返回给我你的处理结果,我再将结果交给客户端。这个约定就是 CGI( common gateway interface ),中文名:公共网关接口。
这个接口可以用 C 、Perl 、PHP 、Python 等语言来实现。在 2000 年或更早的时候,CGI 比较盛行。那时 Perl 是编写 CGI 的主流语言,以至于一般的 CGI 程序就是 Perl 程序。
CGI ,公共网关接口,它是 Web 服务器与外部应用程序(CGI 程序)之间传递信息的接口。通过 CGI 接口 Web 服务器就能够获取客户端提交的信息,并转交给服务器端的 CGI 程序处理,最后返回结果给客户端。也就是说,CGI 实际上是一个接口标准。我们通常所说的 CGI 是指 CGI 程序,即实现了 CGI 接口标准的程序。只要某种语言具有标准输入、输出和环境变量,如 Perl、PHP、C 等,就可以用来编写 CGI 程序。CGI 只是接口协议,而不是编程语言。