像Flask
、Django
、NodeJS
和Apache
这样的技术有哪些区别?通过Apache
和NodeJS
,它们可以作为Web服务器,将服务器端代码与HTTP请求进行接口交互。那么Flask
和Django
是否也提供这种功能,还是提供不同的功能?
Apache/nginx是Web服务器,它们可以提供静态内容(例如html、jpg等)和由Web应用程序生成的动态内容。
Django/Flask和NodeJS上的Express是Web框架,它们提供编写Web应用程序的常见功能,如请求路由/ORM/会话/模板。它简化了编写Web应用程序的过程 - 您只需要“填写空白处”。
大多数情况下,Web应用程序(在Web框架中实现)位于Web服务器后面,并处理由Web服务器交付的请求。但有时,框架本身可以充当Web服务器,例如Tornado / Express。
NodeJS既不是Web框架也不是Web服务器。您可以将其视为JavaScript跨平台运行时环境。