下面的内容纯属个人学习心得,如果对于我的观点有疑问,敬请留言,我将虚心向大牛学习。
WSGI的全称是WEB SERVICE GATEWAY INTERFACE.WSGI 不是服务器,不是API,也不是模块,而是一种协议规范,是描述web service 和web application通信的协议规范。
要实现WSGI协议,必须实现web service 和 web application ,当前运行在WSGI上的协议框架有FLASK,DJANGO,TORANDO.
WSGI协议必须包含两部分,分别为web service 和web application这两部分,客户端与服务器的实现原理图如下所示:
WSGI application接收由server转发的request,处理请求,并将处理结果返回给server。application中可以包括多个栈式的中间件(middlewares),这些中间件需要同时实现server与application,
因此可以在WSGI服务器与WSGI应用之间起调节作用:对服务器来说,中间件扮演应用程序,对应用程序来说,中间件扮演服务器。
只要web service 和web application 同时实现了WSGI的协议,那么不同的web service 就可以和同一个web application 组合成为一个服务器,同样的不同的web application 可以和同一个web
service组合成为一个服务器。