📅  最后修改于: 2020-05-03 04:20:13             🧑  作者: Mango
什么是CGI?
通用网关接口(Common Gateway Interface,简称CGI)不是一种语言,而只是一种规范(规则集),有助于在Web应用程序和浏览器(或客户端应用程序)之间建立动态交互。CGI程序使客户端和Web服务器之间的通信成为可能。每当客户端浏览器向Web服务器发送请求时,CGI程序都会根据客户端服务器提供的输入将输出发送回Web服务器。
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 ( "" )
下面讨论了CGI的一些优点:
1它们是可移植的,并且可以在几乎任何Web服务器和操作系统上工作。
2它们与语言无关。
3它们本质上是可扩展的程序,这意味着它们可以执行简单和复杂的任务。
4CGI增强了Web应用程序中的动态通信。
5他们还通过降低开发和维护成本来帮助企业提高利润。
CGI的一些缺点如下:
1 解释程序每次启动程序时都必须评估CGI脚本,这会产生大量流量,因为来自客户端-服务器端的请求过多。
2 CGI程序的编程和设计非常复杂和模棱两可。
3 CGI程序可能会危及服务器的安全性,因为它们大多数都是免费的并且容易获得,这使它们非常脆弱。