apache - 什么是 CGI,什么是 CGI 脚本?

标签 apache cgi

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




我在使用 apache 时看到一个名为 cgi-bin 的文件夹很长一段时间。

脚本如何帮助我?

我该如何使用它们?

我只将 php 和 ajax 用于 Web 开发!

最佳答案

G'day,

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

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

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

尽管它主要集中在 Perl 上,但书“CGI Programming with Perl”对 CGI 有很好的介绍。

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

  • 开箱即用,PHP 可能会很慢。 CGI,尤其是在它的 mod_perl 伪装下,或者当使用应用程序的内置编译语言时,
  • PHP 没有很强的错误处理能力,但这可以解决,
  • 我认为没有真正支持 ASP、Windows 应用程序或数据库,以及
  • PHP 安全性有点令人担忧,例如启用 register_globals,PHP 的缺陷是众所周知的。

  • PHP 语言本身的设计也包含许多不一致之处,例如
  • 一个相当无用的对象模型,
  • 范围界定相当糟糕,
  • 命名不一致,以及
  • 标准库的组织不善。

  • 我相信 PHP5 在改进这些方面大有帮助。

    虽然安全性始终是一个问题,但通过 CGI 实现,您可以通过广为人知的方式最大限度地减少安全问题。

    HTH

    干杯,

    关于apache - 什么是 CGI,什么是 CGI 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1990399/

    相关文章:

    PHP 进程完成后,Javascript 重定向不会立即生效

    php - 如何取回 PHP "setrawcookie"值?

    delphi - 在使用 IIS7 的 Delphi CGI 上无法看到 WSDL

    c++ - CGI 脚本还是编程?工具?

    php - 从具有不同 IP 的专用服务器发送电子邮件

    apache - 无法连接(尝试在 ubuntu 中设置 SSL)

    php - apache 添加额外的参数到 url

    apache - MAMP 中的 RewriteLog 和 RewriteLogLevel

    perl - 无法运行 cgi,仅显示纯文本 (Ubuntu 13.10 Apache 2.4)

    python - 如何使用 cgi python 脚本发送对 html 的响应