标签: cgi

什么是通用网关接口(CGI)?

CGI是一个通用网关接口.顾名思义,它是所有东西的"通用"网关接口.从这个名字来看,它是如此微不足道和天真.我觉得我理解这一点,每次遇到这个词时我都会感受到这一点.但坦率地说,我没有.我还是很困惑.

我是一名具有Web开发经验的PHP程序员.

用户(客户端)请求页面---> webserver( - >嵌入式PHP解释器)---->服务器端(PHP)脚本---> MySQL服务器.

现在说我的PHP脚本可以从MySQL服务器和MATLAB服务器以及其他一些服务器获取结果.

那么,现在PHP Script是CGI吗?因为它的网络服务器和所有其他服务器之间的接口?我不知道.有时他们称CGI为技术,有时他们称CGI为程序或其他服务器.

  • CGI究竟是什么?

  • 最重要的是什么/cgi-bin/*.cgi?怎么了?我不知道cgi-bin服务器上的这个目录是什么.我不知道为什么他们有*.cgi扩展名.

  • 为什么Perl总是挡路.CGI和Perl(语言).我也不知道这两个是怎么回事.几乎所有的时间我一直听到这两个组合"CGI&Perl".这本书是另一个很好的例子,用Perl进行CGI编程.为什么不"使用PHP/JSP/ASP进行CGI编程"?我从未见过这样的事情.

  • C语言中的CGI编程让我很困惑." 在C "?? 认真?我不知道该说些什么.我只是困惑." 在C "?? 这改变了一切.程序需要编译和执行.这完全改变了我对网络编程的看法.我什么时候编译?如何执行程序(因为它将是一个机器代码,因此它必须作为一个独立的进程执行).它如何与Web服务器通信?IPC?并使用套接字编程与所有服务器(在我的示例MATLAB和MySQL中)连接?我迷路了!!

  • 人们说CGI已被弃用,不再使用了.是这样吗?什么是最新的更新?

有一次,我遇到了必须给HTTP PUT请求访问Web服务器(Apache HTTPD)的情况.它很久了.所以,据我记得这就是我所做的:

  1. 编辑了Apache HTTPD的配置文件,告诉webserver将所有HTTP PUT请求传递给某些人 put.php(我必须编写这个PHP脚本)

  2. 实现put.php来处理请求(将文件保存到提到的位置)

人们说我写了一个CGI脚本.说真的,我不知道他们在说什么.

  • 我真的写过CGI脚本吗?

我希望你明白我的困惑是什么.(因为我自己不知道我在哪里感到困惑).我请求你们尽可能简单地保持你的答案.我真的无法理解任何花哨的技术术语.至少在这种情况下不是.

编辑:

我发现这个惊人的教程"CGI编程很简单!" - CGI教程,以最简单的方式解释概念.阅读本文后,您可能需要阅读C语言中的CGI编程入门,以补充您对实际代码示例的理解.我还将这些教程的链接添加到维基百科的文章中:http://en.wikipedia.org/wiki/Common_Gateway_Interface

cgi

737
推荐指数
12
解决办法
19万
查看次数

Python Web框架,WSGI和CGI如何组合在一起

我有一个Bluehost帐户,我可以在其中运行Python脚本作为CGI.我想这是最简单的CGI,因为要运行我必须在以下内容中定义.htaccess:

Options +ExecCGI
AddType text/html py
AddHandler cgi-script .py
Run Code Online (Sandbox Code Playgroud)

现在,每当我使用Python查找Web编程时,我都会听到很多关于WSGI以及大多数框架如何使用它的信息.但我只是不明白它是如何组合在一起的,特别是当我的Web服务器被给出时(Apache在主机的机器上运行)而不是我真正可以玩的东西(定义.htaccess命令除外).

WSGI,CGI和框架是如何连接起来的?如果我想在我的基本CGI配置上运行Web框架(比如web.pyCherryPy),我需要知道,安装和执行什么操作?如何安装WSGI支持?

python apache cgi wsgi

148
推荐指数
5
解决办法
4万
查看次数

在iis 7.0上运行.net framework 4.0网站时出现问题

嘿,我在运行.NET framework 4.0网站时遇到了问题IIS7.0.我得到的错误是:

HTTP错误404.2 - 未找到"由于Web服务器上的ISAPICGI限制列表设置,无法提供您请求的页面".

Module : IsapiModule , 
Notification : ExecuteRequestHandler, 
Handler : PageHandlerFactory-ISAPI-4.0_32bit , 
Error Code : 0x800704ec
Run Code Online (Sandbox Code Playgroud)

asp.net iis-7 cgi .net-4.0 isapi

119
推荐指数
4
解决办法
11万
查看次数

什么是简单英语的WSGI和CGI?

每当我读WSGI或CGI时,我都会感到畏缩.我之前尝试过阅读,但没有真正陷入困境.

用简单的英语真的是什么?

它只是将请求传递给终端并重定向输出吗?

python cgi wsgi

118
推荐指数
4
解决办法
2万
查看次数

如何解决Perl CGI脚本问题?

我有一个不工作的Perl脚本,我不知道如何开始缩小问题范围.我能做什么?


注意:我正在添加问题,因为我真的想要将非常冗长的答案添加到Stackoverflow.我在其他答案中保持外部链接,它值得在这里.如果你有什么要补充的话,不要害怕编辑我的答案.

perl cgi

99
推荐指数
5
解决办法
6万
查看次数

WSGI,CGI,FastCGI和mod_python之间在Python方面的差异和用途?

我只是想知道不同CGI的差异和优势是什么.哪一个最适合python脚本,以及如何告诉脚本使用什么?

python cgi wsgi fastcgi mod-python

69
推荐指数
4
解决办法
5万
查看次数

如何摆脱红宝石中的非ascii字符

我有一个Ruby CGI(不是rails),可以从Web表单中选择照片和标题.我的用户非常热衷于使用智能引号和连字,他们正在从其他来源粘贴.我的网络应用程序不能很好地处理这些非ASCII字符,是否有一个快速的Ruby字符串操作例程可以摆脱非ASCII字符?

ruby unicode ascii cgi

61
推荐指数
5
解决办法
5万
查看次数

从文件或数据库服务器访问数据是否更快?

如果我有一个由文件夹和文件组成的静态数据库,访问和操作会比SQL服务器类型数据库更快,考虑到这将用于CGI脚本吗?

使用文件和文件夹时,有哪些提高性能的技巧?

sql performance cgi flat-file

50
推荐指数
5
解决办法
4万
查看次数

如何配置Apache 2以运行Perl CGI脚本?

我想配置运行的Apache 2 Kubuntu来执行Perl CGI脚本.我尝试了谷歌搜索遇到的一些步骤,但似乎没有任何效果.

实现这一目标的正确方法是什么?

linux apache perl cgi

44
推荐指数
6
解决办法
16万
查看次数

mod_wsgi,mod_python还是只是cgi?

我一直在玩我自己的网络服务器(Apache + Ubuntu)和python.从我所看到的有三种(?)主要方式:

  1. Apache配置为将.py作为cgi处理
  2. Apache配置为使用现在过时的mod_python(?)
  3. Apache配置为使用mod_wsgi

我记得读过Django更喜欢mod_wsgi,我对学习Django很感兴趣(我听说他们的官方教程非常优秀).

什么是"推荐"设置?我认为没有理由再使用mod_python了,但处理.py作为cgi和mod_wsgi之间的区别是什么?是否有可能同时运行它们(你想要吗?),或者这只是一个荒谬的想法,我应该停止思考这些疯狂的事情?

我想我真的只是在寻找关于Apache + Python的入门知识(链接也很好) - 到目前为止我所遇到的一切都非常有用 - 它们主要是指导方针.

python apache cgi mod-wsgi

43
推荐指数
4
解决办法
2万
查看次数

标签 统计

cgi ×10

python ×4

apache ×3

wsgi ×3

perl ×2

.net-4.0 ×1

ascii ×1

asp.net ×1

fastcgi ×1

flat-file ×1

iis-7 ×1

isapi ×1

linux ×1

mod-python ×1

mod-wsgi ×1

performance ×1

ruby ×1

sql ×1

unicode ×1