我被要求使用 SSI 或 CGI 编写 Web 应用程序,我想知道这是否意味着我将使用过时的技术?我对 SSI 或 CGI 的历史知之甚少,但我在 Indeed.co.uk 上基本上看不到它们中的任何一个的职位列表。我看到数以万计的 PHP。我是否正确地说 PHP 现在已经有效地取代了这些技术?
我是否正确地说 PHP 是这些技术的超集,因为它可以做任何他们可以做的事情,甚至更多?
是的,PHP 可以匹配 SSI 和 CGI 功能。我认为 CGI 可能会比普通 PHP 稍微提高性能,但是使用像 APC PHP 这样的适当操作码缓存可能会在这方面击败他们。
一些公司出于遗留原因仍在使用 CGI,但它不再是一个很好的技能。
PHP 也有替代品,例如 Python + mod_wsgi、Node.js、Ruby + Ruby on Rails、ASP、JSP 等。PHP 恰好是此时最流行的 Web 开发。
我认为 CGI 被 PHP 和其他脚本语言取代的主要原因之一是人们更喜欢轻量级框架。在 CGI 中,每个命令都会在服务器上启动一个进程,因此它本质上比 PHP、Perl 等重得多。此外,能够从文件系统“提升”PHP 文件夹的简单性将其放到其他地方并且它几乎可以工作不依赖于服务器基础架构。至于 SSI,我认为它仍然到处使用,但它是一种非常简单的语言,甚至不支持循环。CGI/SSI 等不仅过时而且功能较差,从长远来看,您会发现使用更现代的技术更容易。