何时需要CGI / FastCGI,何时不需要

时间:2015-03-12 10:55:14

标签: django angularjs nginx cgi wsgi

这可能是一个小小的noob-question,但我已经阅读了很多关于CGI / FastCGI / WSGI但还没有完全理解,所以我决定问一下。

首先,我想说出我所理解的内容。我已经理解CGI是Web服务器(例如Apache或NGINX)和Web服务器应用程序(例如Python应用程序)之间的接口程序。另外,我已经明白,您可以通过配置Web服务器,提供静态文件(html)。你不需要CGI / WSGI。当您想要提供动态内容时,您需要CGI或类似内容,而不仅仅是某个位置的一个文件。通过服务我的意思是由另一个程序生成html,然后将其提供给Web服务器程序

然后我不明白的事情。为什么angularJS不需要CGI或类似的?是因为如果部署到例如Nginx,可以通过提供index.html文件直接提供angularJS应用程序吗?不知何故,AngularJS在那之后处理了所有事情(几乎)?但是如果你有一个基于Django的Web应用程序,那么你确实需要一个WSGI,它实际上捆绑在Django中,所以你不需要修改它吗?

1 个答案:

答案 0 :(得分:1)

我无法对Django说些什么有用的东西,但Angular只是生活在客户端的网络浏览器中。它不需要在服务器上执行任何操作,所有程序代码都在客户端上运行的JavaScript中处理。因此,基本上你所有的web服务器都必须提供一堆静态文件(html部分模板,javascript文件,css等),而Angular负责其余部分。

当然,一旦你开始通过Angular从服务器获取动态数据,这种情况可能会改变,但原则上你可以用静态json文件做很多事情,例如规范的角度电话猫教程示出。