我必须学习 CGI 编程才能建立和维护网站吗?

Do I have to learn CGI programming to build and maintain a website?

我是一名自学成才的开发人员,学会了 HTML、CSS、PHP、SQL 和 JAVASCRIPT 来创建自己的网站。它是一个交互式网站,根据简单的表单输入(类似于字典样式)显示信息。在apache.org看文档的时候碰巧知道了CGI编程,一头雾水。我必须学习 CGI 编程才能建立和维护网站吗? (这是一个单人项目)

编辑: 在得到答案(并接受)后,我对 CGI 做了一些研究。

注意:(适合像我这样的初学者) CGI 不是一种编程语言,如其名称(通用网关接口)所述,它是服务器中 运行 脚本(由浏览器请求)和 return 结果到浏览器的接口。

这篇 https://en.wikipedia.org/wiki/PHP 维基百科文章(关于 PHP)对网络服务器中 CGI 和 PHP 之间的关系有一个很好的解释,我在下面引用它

There are two primary ways for adding support for PHP to a web server – as a native web server module, or as a CGI executable. PHP has a direct module interface called Server Application Programming Interface (SAPI), which is supported by many web servers including Apache HTTP Server, Microsoft IIS, Netscape (now defunct) and iPlanet. Some other web servers, such as OmniHTTPd, support the Internet Server Application Programming Interface (ISAPI), which is a Microsoft's web server module interface. If PHP has no module support for a web server, it can always be used as a Common Gateway Interface (CGI) or FastCGI processor; in that case, the web server is configured to use PHP's CGI executable to process all requests to PHP files.

这只是关于 PHP 和 CGI​​,CGI 可以与 C、Perl 等程序语言一起使用。当您 google 对于 CGI 时,您总是会发现 CGI 和 Perl 在一起,但它不会不是说Perl是CGI或者CGI是Pearl,CGI脚本也可以是其他语言。

在我看来,如果您的目标只是具有静态上下文的站点,那么了解您已经提到的内容就足够了。但是,对于动态内容(以及 运行 服务器端的内容),您需要学习 CGI。有一次我使用 Perl 处理 CGI,我喜欢它,但是 CGI 也可以使用任何其他编程语言来完成,例如 PHP。