这几天使用的CGI脚本是什么?

时间:2009-07-21 22:10:13

标签: web-applications cgi

我对通用网络编程语言的速度非常快,但我现在正在使用的工具之一就是CGI。我只能说CGI脚本很慢。

今天CGI仍然普遍使用吗?如果没有,它被什么取代了?
CGI还活着并积极使用是否有任何利基功能?

10 个答案:

答案 0 :(得分:27)

CGI是协议,它是创建动态页面的最基本和最标准的方法。

在许多情况下它很有用:

  1. 当你想用一种没有mod_XYZ的语言创建一个基本的应用程序时,让我们说C或Haskell,这可能是计算密集型的。
  2. 在嵌入式系统中,内存很昂贵,而您更喜欢生成CGI脚本 而不是一直把它放在记忆中。
  3. 在某些托管服务上,您希望能够灵活地以您想要的任何技术编写服务器端软件,但另一方面,不要使用FastCGI(例如Sourceforge托管)在内存中保留总统应用程序。
  4. CGI上的负载很低,因此您不关心每个请求产生应用程序。例如,在像MoveableType这样的博客中,只有通过CGI进行更新,其余的都是提供的 通过静态页面,CGI脚本在需要时更改。所以产生CGI脚本的成本 非常低。
  5. 如果您的大部分内容都是静态页面,并且您希望使用thttpd这样的服务器来提供服务,那么很少有操作可以通过它支持的CGI完成。
  6. 所以... CGI很简单,但仍然非常有用 API ,允许简单地做一些事情。

    例如,显示服务器正常运行时间的脚本

    #!/bin/bash
    echo Content-Type: text/plain
    echo
    uptime
    

    什么可以更简单,更简单,更少依赖Web服务器?

答案 1 :(得分:16)

CGI已经被各种各样的Web编程技术所取代,包括PHP,各种Apache扩展,如mod_perl,各种风格的Java和框架,包括Java EE,Struts,Spring等,基于Python的框架,如Django,Ruby on Rails和许多其他Ruby框架,以及各种Microsoft技术。

我确信CGI仍然用于某些东西,但我猜它主要是一小部分已经存在多年的代码。维基百科确实提到FastCGI类似于CGI但没有巨大的性能缺陷。

答案 2 :(得分:4)

许多传统网站今天仍然使用cgi构建,尽管这些天人们正在远离它。我知道仍然使用CGI的着名应用程序之一是MovableType blog

答案 3 :(得分:2)

我知道有两个正在积极开发的项目仍然使用CGI脚本才能生效。

第一个是Webmin基于网络的系统管理工具,我多年来一直在使用。

第二个是GitWeb,它允许您为Git存储库设置Web界面。

关于CGI的速度(或缺乏),我无法对此发表评论。根据我对Webmin的经验,我不能说我在这方面遇到任何问题。

答案 4 :(得分:2)

不支持移植(例如,PHP)的实时操作系统。

答案 5 :(得分:1)

许多共享主机通过CGI提供服务器端语言,如PHP,python和perl

答案 6 :(得分:1)

我仍然在没有PHP语言支持的嵌入式计算机上使用它。

答案 7 :(得分:0)

ASP,PHP,ASP.Net,Ruby on Rails是目前最重要的打击者。

答案 8 :(得分:0)

就像Cobol和Fortran一样,有一些基于CGI构建的大额资金系统当然会在未来保持良好状态。

并非新软件不是经常使用所有这些技术构建的。

答案 9 :(得分:0)

几个月前我离开的一个项目仍然使用CGI。但是,该站点适用于非常小的用户集(它只有大约40个用户,并且可能少于5个用户经常使用它)。虽然硬件已被更换了3到4次,但其中一些代码已经运行了近10年,很少或根本没有修改。我相信其他技术可以提供性能改进,但目前的性能是可以接受的,并且做出改变的人力很短,分布在太多领域,并且不熟悉Web技术(特别是自从我离开后)。这导致了一种态度:“如果它没有破裂,就不要修复它!”

至于我使用/计划调查的替换:在我的新职位上,我开发了一个使用PHP的Web应用程序。但是,我更像是一个Python粉丝,并计划很快调查WSGI。我还计划使用AJAX替换我为非营利组织自愿维护的网站上的CGI程序。