WSGI介绍
WSIG(Web Server Gateway Interface)是一种规范,它定义了使用python编写的web app(应用程序)与web server(socket)之间的连接格式,实现web app与web server间的解耦。
通俗的说:当规范建立后,程序就不在重复编写web server(socket服务端),而是直接使用现成的WSGI模块,从而让程序员更加专注于业务代码。
Web Serve和Web Application都是实现WSGI规范,然后各司其职:
- Web Server:接收来自客户端的HTTP,然后将请求交给Web Application。
- Web Application:根据请求来调用相应的逻辑处理,生成response;通过Web Server把response发送给客户端。
WSGI应用程序的部分规定
-
应用程序是一个可调用对象:
可调用对象有三种:
1.一个函数
2 一个类,必须实现__call__()方法
3 一个类的实例 -
这个对象接收两个参数分别是environ,start_response以可调用对象为一个实例:
class application: def __call__(self,environ,start_response): pass