C++ Web编程

译者 yaronli (http://www.yaronspace.cn/blog)

原文地址:http://www.tutorialspoint.com/cplusplus/cpp_web_programming.htm

什么是CGI

CGI( Common Gateway Interface ),公共网关接口是一组标准,该标准定义了在 web server和普通脚本间是如何交换信息的。

Web浏览 (Web browsing)

为了更好的理解CGI的概念,我们看看当用户为了访问某个页面或者url点击链接时所发生的事情:

  • 你的浏览器联系到HTTP 服务器,然后请求对应的URL,即对应的文件;
  • Web服务器会解析这个URL,然后查找对应文件名。如果找到这个文件,Web服务器就会返回文件的内容给浏览器,否则 的话会返回一条错误信息;
  • Web 浏览器从Web服务器获得响应信息,然后解析返回的文件内容或者是错误信息;

但是,可以这样设置HTTP服务器,当一个文件被请求时,不是将文件内容返回,而是将它作为程序来执行,并将程序产生的输出返回给你的浏览器来显示。

公共网关接口(CGI)就是这样一种协议,它使应用程序(叫做CGI程序或者是CGI脚本)能够与Web服务器交互。CGI程序可以使用Python、perl、Shell、C或者C++来编写。

CGI的架构图

下图展现了CGI的简单架构:

Web服务器的配置

在你处理CGI程序之前,请确定你的Web服务器支持CGI程序并且它配置为支持能够处理CGI程序。所有的被HTTP服务器执行CGI程序都会预先配置在规定的目录,这个目录传统上被命名为/var/www/cgi-bin/,默认情况下cgi程序的扩展名为.cgi,尽管它们是C++可执行文件。

更多 >