什么是CGI以及什么是CGI脚本?

时间:2010-01-02 02:32:34

标签: apache cgi

在使用apache时,我看到了一个名为cgi-bin的文件夹。

脚本如何帮助我?

我该如何使用它们?

我只使用php和ajax进行网页开发!

2 个答案:

答案 0 :(得分:11)

天儿真好,

网络服务器,例如Apache,只是发回静态内容是对客户端内容请求的响应。例如,对http://www.myserver.com/index.html的请求通常会导致服务器打开文件并返回包含相关http组件的文件内容。

基本上,CGI是一种通过Web服务器根据需要运行的其他应用程序动态生成此类网页的技术。

目录cgi-bin通常用于存放正在运行的脚本。

虽然它主要关注Perl,但“CGI Programming with Perl”这本书有很好的关于CGI的介绍。

编辑:正如下面的评论所述,“如果PHP可以处理动态内容,那么CGI的需求是什么”。这里有几点。

  1. 开箱即用,PHP可能非常慢。 CGI,特别是在其mod_perl伪装中,或者当使用应用程序的内置编译语言时,
  2. PHP没有非常强大的错误处理功能,但这可以解决,
  3. 我认为不存在对ASP,Windows应用程序或数据库的真正支持,以及
  4. PHP安全性有点担心,例如启用了register_globals,PHP的缺陷非常有名。
  5. PHP语言本身的设计也包含许多不一致之处,例如

    • 一个相当无用的对象模型,
    • 范围很差,
    • 不一致的命名和
    • 标准库的组织不佳。

    我相信PHP5在改善这些方面还有很长的路要走。

    虽然安全始终是一个问题,但通过CGI实施,您可以以公开的方式最小化安全问题。

    HTH

    欢呼声,

答案 1 :(得分:1)

cgi-bin代表CGI二进制文件。老实说,如果你已经熟悉了PHP,那么你很可能不需要老式的CGI脚本。