Python 中的 CGI 是什么?

Python 中的 CGI 是什么?

  • 公共网关接口(Common Gateway Interface,CGI)是一种标准,用于外部网关程序与信息服务器(如 HTTP 服务器)进行交互。
  • 当前版本为 CGI/1.1,CGI/1.2 正在开发中。

更多Python相关文章,请阅读:Python 教程

网页浏览

为了理解 CGI 的概念,让我们看看当我们单击超链接以浏览特定网页或 URL 时会发生什么。

  • 您的浏览器与 HTTP 网络服务器联系,要求 URL,即文件名。
  • 网络服务器解析 URL 并查找文件名。如果找到该文件,则将其发送回浏览器;否则发送错误消息,指示您请求了错误的文件。
  • Web 浏览器接收来自 Web 服务器的响应,并显示接收到的文件或错误消息。

但是,可以设置 HTTP 服务器,以便每当请求某个目录中的文件时,该文件不会被发送回来;相反,它将被执行为程序,而该程序输出的任何内容将被发送回浏览器以显示。该功能称为公共网关接口(Common Gateway Interface,CGI),而这些程序则称为 CGI 脚本。这些 CGI 程序可以是 Python 脚本、PERL 脚本、Shell 脚本、C 或 C++ 程序等。

CGI 架构图

Python 中的 CGI 是什么?

Web 服务器支持和配置

在进行 CGI 编程之前,请确保您的 Web 服务器支持 CGI,并已配置以处理 CGI 程序。由 HTTP 服务器执行的所有 CGI 程序都保存在预配置的目录中。该目录称为 CGI 目录,根据惯例,它被命名为 /var/www/cgi-bin。根据惯例,CGI 文件的扩展名为 .cgi,但您也可以将文件保留为 Python 扩展名 .py。

默认情况下,Linux 服务器仅配置为运行位于 /var/www/cgi-bin 中的脚本。如果要指定任何其他目录来运行您的 CGI 脚本,请注释 httpd.conf 文件中的以下行 −

<Directory "/var/www/cgi-bin">
   AllowOverride None
   Options ExecCGI
   Order allow,deny
   Allow from all
</Directory>
<Directory "/var/www/cgi-bin">
Options All
</Directory>

在此,我们假设您的 Web 服务器成功运行,并且能够运行任何其他 CGI 程序,例如 Perl 或 Shell,等等。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程