CGI是通用网关接口。顾名思义,它是所有内容的“通用”网关接口。从名称来看,它是如此琐碎而幼稚。我感到自己理解了,每次遇到这个词时都会感到。但坦率地说,我没有。我还是很困惑。
我是一位具有Web开发经验的PHP程序员。
用户(客户端)请求页面---> webserver(->嵌入式PHP解释器)---->服务器端(PHP)脚本---> MySQL服务器。
现在说我的PHP脚本可以从MySQL服务器,MATLAB服务器和其他服务器获取结果。
那么,现在PHP Script是CGI吗?因为它的接口用于Web服务器与所有其他服务器之间?我不知道。有时他们将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编程的看法。我什么时候编译?程序如何执行(因为它将是机器代码,因此必须作为独立的进程执行)。它如何与Web服务器通信?IPC?并使用套接字编程与所有服务器(在我的示例MATLAB&MySQL中)接口?我迷路了!!
人们说CGI已被弃用,不再使用。是这样吗?最新更新是什么?
有一次,我遇到了不得不向Web服务器(Apache HTTPD)授予HTTP PUT请求访问权限的情况。它的后背很长。因此,据我所记得,这就是我所做的:
编辑了Apache HTTPD的配置文件,以告知Web服务器将所有HTTP PUT请求传递给某些服务器
put.php
(我必须编写此PHP脚本)实现put.php来处理请求(将文件保存到上述位置)
人们说我写了一个CGI脚本。说真的,我不知道他们在说什么。
- 我真的写过CGI脚本吗?
希望您理解我的困惑。(因为我自己不知道我在哪里困惑)。我要求你们保持答案尽可能简单。我真的不明白任何花哨的技术术语。至少不是这种情况。
编辑:
我发现了这个很棒的教程“ CGI编程很简单!”。-CGI教程,以最简单的方式解释了这些概念。阅读本文之后,您可能需要阅读《C语言中的CGI编程入门》,以通过实际的代码示例来补充您的理解。我还将这些链接添加到了本教程的Wikipedia文章:http : //en.wikipedia.org/wiki/Common_Gateway_Interface