common gateway interface 通用网关接口
可以让客户端从浏览器向执行在服务器上的程序请求数据。CGI描述了客户端和服务器程序之间传输数据的一种标准。
编程语言perl是一种被广泛用来写CGI程序的语言。
工作方式:
在特定位置(http://www.example.com/wiki.cgi)定义了可以运行的CGI程序。
当收到一个匹配的url请求,相应的程序就会被调用,并将客户端发送的数据作为输入。
程序的输入会由Web服务器手机,并加上合适的档头,发送回客户端。
一般每次的 CGI 请求都需要新生成一个程序的副本来运行,这样大的工作量会很快将服务器压垮,因此一些更有效的技术像 mod_perl,可以让脚本解释器直接作为模块集成在 Web 服务器(例如:Apache)中,这样就能避免重复载入和初始化解释器。不过这只是就那些需要解释器的高级语言(即解释语言)而言的,使用诸如 C 一类的编译语言则可以避免这种额外负荷。由于 C 及其他编译语言的程序与解释语言程序相比,前者的运行速度更快、对操作系统的负荷更小,使用编译语言程序是可能达到更高执行效率的,然而因为开发效率等原因,在目前解释性语言还是最合适的