一、介绍
公共网关接口(Common Gateway interface,CGI)是在网站服务器上使用外部程序处理客户端请求的标准方式,外部程序可以存取数据库、文件及显示客户化的数据供网站浏览者观看。
CGI不仅可以处理邮件表格和计数程序,还可以处理复杂的数据库。
CGI的工作机制是管理浏览器与服务器脚本之间的通信。
CGI脚本通常存储在/cgi-bin的文件夹内
二、从浏览器传递信息到CGI脚本的方式
在HTML表格中使用POST或GET方法。
POST方法使用标准输入来传递信息,使用POST方法传输给服务器,虽然服务器没有信息量限制,但是不能将信息附在URL内传输。Python使用cgi模块来操作CGI脚本,可以在网页应用程序内处理表格,cgi模块可以将GET与POST格式的表格差异隐藏出来。
GET方法将信息存储在环境变量内,使用GET方法有环境变量大小的限制,优点是可以将一个HTML表格封装在一个URL内,缺点是可能会遗失信息。如果用户在CGI脚本所产生网页上选择一个外部图片(eg:旗帜广告)或是外部链接,表格的处理结果会导向该外部图片或链接。
三、CGI 工作

CGI是一段程序,运行在服务器上,Web服务器将请求发送给CGI应用程序,再将CGI应用程序动态生成的HTML页面发送回客户端。CGI在Web服务器和应用之间充当了交互作用,这样才能够处理用户数据,生成并返回最终的动态HTML页面。
