WSGI——Web Server Gateway Interface
————————Web服务器网关接口
一、即Web服务器和Web应用程序之间的通用接口标准
WSGI 是作为 Web 服务器与 Web 应用程序或应用框架之间的一种低级别的接口,
以提升可移植 Web 应用开发的共同点。WSGI 是基于现存的 CGI 标准而设计的。
二、WSGI的作用就是在协议之间进行转化
WSGI就是一座桥梁,桥梁的一段为服务器端或网关端,另一段为应用端或者框架
WSGI将Web组件分为了三类:
Web 服务器(WSGI Server)
Web中间件(WSGI Middleware)
WSGI Application
三、Web应用的本质
浏览器发出请求
服务器收到请求,生成
四、WSGI的作用
WSGI有两方:“服务器”或“网关”一方,以及“应用程序”或“应用框架”一方。服务方调用
用方,提供环境信息,以及一个回调函数(提供给应用程序用来将消息头传递给服务器方)
并接收Web内容作为返回值。
所谓的 WSGI中间件同时实现了API的两方,因此可以在WSGI服务和WSGI应用之间起调解作用:从WSGI服务器的角度来说,中间件扮演应用程序,而从应用程序的角度来说,中间件扮演服务器。
“中间件”组件可以执行以下功能:
重写环境变量后,根据目标URL,将请求消息路由到不同的应用对象。
允许在一个进程中同时运行多个应用程序或应用框架。
负载均衡和远程处理,通过在网络上转发请求和响应消息。
进行内容后处理,例如应用XSLT样式表。
五、框架自带的WSGI server
很多框架都自带了 WSGI server ,比如 Flask,webpy,Django、CherryPy等等。
是性能都不好,自带的 web server 更多的是测试用途,
发布时则使用生产环境的 WSGI server或者是联合 nginx 做 uwsgi 。