Web服务器、Web框架、Web应用程序、WSGI的区别联系

一、名词解释

web服务器:接收HTTP请求并返回数据

Web应用程序:对接收的数据处理

Web框架:方便开发Web应用程序

WSGI:是一种通信协议,它只适用于 Python 语言,其全称为 Web Server Gateway Interface

类比:

Web服务器:门卫

Web应用程序:皇帝

Web框架:辅助皇帝决策的人(内阁)

WSGI:太监宫女

HTTP请求:大臣上报皇帝的事情

二、关系

Web服务器、Web框架、Web应用程序、WSGI的区别联系
web服务器,web框架与 WSGI 的三层关系

Nginx=Web服务器

Flask=Web框架

三、Nginx,WSGI,Flask 之间的对话

Nginx:Hey,WSGI,我刚收到了一个请求,我需要你作些准备,然后由Flask来处理这个请求。

WSGI:OK,Nginx。我会设置好环境变量,然后将这个请求传递给Flask处理。

Flask:Thanks WSGI!给我一些时间,我将会把请求的响应返回给你。

WSGI:Alright,那我等你。

Flask:Okay,我完成了,这里是请求的响应结果,请求把结果传递给Nginx。 WSGI:Good job!

Nginx,这里是响应结果,已经按照要求给你传递回来了。

Nginx:Cool,我收到了,我把响应结果返回给客户端。大家合作愉快~

四、常见的Web服务器

Apache、Nginx、Tomcat、IIS

五、常见的开发框架

Python:Django、Flask

PHP:CakePHP、Laravel

Node.js :Express

Ruby:Rails、Sinatra

六、参考

如何理解Nginx、uWSGI和Flask之间的关系?

程序员必须知道的11款常见的Web应用程序框架