📜  Python中的CGI编程

📅  最后修改于: 2020-05-03 04:20:13             🧑  作者: Mango

什么是CGI?
通用网关接口(Common Gateway Interface,简称CGI)不是一种语言,而只是一种规范(规则集),有助于在Web应用程序和浏览器(或客户端应用程序)之间建立动态交互。CGI程序使客户端和Web服务器之间的通信成为可能。每当客户端浏览器向Web服务器发送请求时,CGI程序都会根据客户端服务器提供的输入将输出发送回Web服务器。

  1. CGI是程序与HTTP服务器接口的标准。
  2. CGI编程是动态生成的,用于响应用户输入的网页或与服务器上的软件进行交互

CGI的工作
当客户端服务器向Web服务器发出请求时,CGI使用外部脚本文件来处理此类请求。这些文件可以用任何语言编写。这些脚本文件的主要目的是快速,高效地从数据库检索数据。这些脚本将检索到的数据转换为HTML格式,然后以HTML格式的页面将数据发送到这些Web服务器。

在您的系统上安装apache2后,我们才能在主机“ 127.0.0.1″上运行“ hello.py”
建议您在尝试此示例之前具有HTML的基本知识:

#!/usr/bin/Python3
 # 导入'cgi'模块
  import cgi
  print ( "Content-type: text/html\r\n\r\n" )
  print ( "" )
  print ( "

Hello Program!

" ) # 使用内置方法 form = cgi.FieldStorage() if form.getvalue( "name" ): name = form.getvalue( "name" ) print ( "

Hello" + name + "! Thanks for using my script!


" ) if form.getvalue( "happy" ): print ( "

Yayy! I'm happy too!

" ) if form.getvalue( "sad" ): print ( "

Oh no! Why are you sad?

" ) # 使用HTML输入和表单方法 print ( "
" ) print ( "

Name:

" ) print ( " Happy" ) print ( " Sad" ) print ( "" ) print ( "" )

下面讨论了CGI的一些优点:
1它们是可移植的,并且可以在几乎任何Web服务器和操作系统上工作。
2它们与语言无关。
3它们本质上是可扩展的程序,这意味着它们可以执行简单和复杂的任务。
4CGI增强了Web应用程序中的动态通信。
5他们还通过降低开发和维护成本来帮助企业提高利润。

CGI的一些缺点如下:
1 解释程序每次启动程序时都必须评估CGI脚本,这会产生大量流量,因为来自客户端-服务器端的请求过多。
2 CGI程序的编程和设计非常复杂和模棱两可。
3 CGI程序可能会危及服务器的安全性,因为它们大多数都是免费的并且容易获得,这使它们非常脆弱。