代码之家  ›  专栏  ›  技术社区  ›  Brian

基于CGI-bin的Web开发的主要缺点是什么?

  •  5
  • Brian  · 技术社区  · 16 年前

    我很幸运没有做任何基于cgi-bin.cgi的Web开发。但一般来说,那些没有“错过”那些日子的人。

    我最近加入的一个项目在处理需要与具有基于cgi-bin的API的遗留系统通信的页面时存在性能问题。那个系统是Cognos7。

    到目前为止,我收到的反馈是“Cognos速度很慢”,但其他人报告说Cognos取得了巨大的成功,我认为它更多地与通过CGI-bin访问有关,而不是与Cognos本身的性能有关。

    这些都说明了基于CGI-BIN的Web开发中存在的主要问题是什么?

    4 回复  |  直到 15 年前
        1
  •  4
  •   John Stauffer    16 年前

    基于CGI-BIN的系统的基本体系结构问题是,每个HTTP请求都需要服务器启动一个新的进程。这在许多方面影响性能:

    • 启动这个过程很昂贵,因为程序中的操作系统页面、设置过程等。
    • 资源不能在请求之间共享,因此任何数据库连接等都必须与每个请求一起设置。
    • 用户会话状态不能保存在内存中,因此必须与每个请求一起持久化。
        2
  •  1
  •   Seymour Clufley    16 年前

    对我来说,CGI最大的痛苦是我的CGI程序每次启动时都必须“学习”所有东西。当然,如果他们一直在跑步,情况就不会是这样了……

        3
  •  0
  •   Harper Shelby damiankolasa    16 年前

    主要的缺点,imho,和所有低层编码都有相同的缺点——不是在问题域中编程,而是在实现域中编程。最终结果是,在其核心,相同的-一个HTTP响应被发送到一个基于HTTP请求的客户机。但是,得到 从编程的角度来看,这一点要复杂得多。

        4
  •  0
  •   Dave Everitt    15 年前

    Apache有多种不同语言的解决方案(例如 mod_perl )这样一个脚本只被调用一次,然后保存在内存中以便快速检索。现在仍然有很多gci协议驱动的站点,如果编码和设置良好,其中许多站点的运行延迟相当低。