CGI是一个通用网关接口,顾名思义,它是万事万物的“通用”网关接口。从名字看是如此的琐碎和幼稚。我感觉自己理解了这个,每次遇到这个词都有这种感觉,但坦白说,我没有,我仍然很困惑。
我是一名具有Web开发经验的PHP程序员。
用户(客户端)请求页面--->网络服务器(->嵌入式PHP 解释器) ----> 服务器端(PHP)脚本--->MySQL Server.
现在假设我的PHP脚本可以从MySQL服务器和MATLAB服务器以及其他服务器获取结果。
那么,现在PHP脚本是CGI吗?因为它是Web服务器和所有其他服务器之间的接口?我不知道。有时他们称CGI为技术,有时他们称CGI为程序或其他服务器。
什么是CGI?
/cgi-bin/*.cgi
有什么大不了的?这是怎么回事?我不知道服务器上这个cgi-bin
目录是为了什么。我不知道为什么他们有*. cgi扩展名。
为什么Perl总是挡路。CGI和Perl(语言)。我也不知道这两个是怎么回事。几乎所有的时间我一直听到这两个组合“CGI和Perl”。这本书是另一个很好的例子CGI Programming with Perl为什么不“CGI Programming with PHP/JSP/ASP”?我从来没有见过这样的东西。
C语言中的CGI编程,让我很困惑。"in C"??说真的??我不知道该说什么。我只是很困惑。"in C"??这改变了一切。程序需要编译和执行。这完全改变了我对web编程的看法。我什么时候编译?程序是如何执行的(因为它将是一个机器代码,所以它必须作为一个独立的进程执行)。它如何与web服务器通信?IPC?以及使用套接字编程与所有服务器(在我的例子中是MATLAB&MySQL)的接口?我迷路了!
人们说CGI已经被弃用了,不再使用了。是这样吗?最新的更新是什么?
有一次,我遇到了一个情况 必须将HTTP PUT请求访问权限授予 Web服务器(Apache HTTPD)。这是一个很长的 回来了。所以,据我所知,这是 我做了什么:
编辑Apache HTTPD的配置文件告诉webserver通过 所有HTTP PUT请求到某些
put.php
(我不得不写这个PHP 脚本)实现put.php来处理请求(将文件保存到 提到)
有人说我写了一个CGI脚本。 说真的我一点头绪都没有 他们在谈论什么?
我希望你们能理解我的困惑是什么。(因为我自己也不知道我在哪里困惑)。我请求你们的回答尽可能简单。我真的不懂任何花哨的技术术语。至少在这种情况下不是。
编辑:
我发现了这个惊人的教程“CGI编程很简单!”-CGI教程,它以可能的方式解释了最简单中的概念。阅读本文后,您可能想阅读开始使用C进行CGI编程,以用实际的代码示例来补充您的理解。我还将这些链接添加到维基百科的文章中:http://en.wikipedia.org/wiki/Common_Gateway_Interface