WSGI协议其实是定义了一种server与application解耦的规范,即可以有多个实现WSGI server的服务器,也可以有多个实现WSGI application的框架,那么就可以选择任意的server和application组合实现自己的web应用
来自 <https://www.cnblogs.com/ray-mr-huang/p/9077678.html>
要实现WSGI协议,必须同时实现web server端和web application端
当前运行在WSGI协议之上的web框架有Torando,Flask,Django等
比较常用的WSGI协议服务器有:uWSGI,gunicorn等
1、框架需要实现WSGI协议,例如:Flask,Django等
2、environ 和 start_response 由 http server 提供并实现
3、environ 变量是包含了请求信息的字典
4、Application 内部在返回前调用 start_response
5、application()函数必须由WSGI服务器来调用
server要履行的任务:
1、接收HTTP请求
2、解析HTTP请求
3、准备 environ请求参数
4、定义 start_response 函数
5、组装响应头和相应体返回给客户端
application要履行的责任:
1、解析服务器发来的请求信息
2、根据请求信息,进行业务处理
3、返回所需要的数据
至此,您应该对WSGI有了一定的了解吧。
封装了socket,使得web能够进行连接的一种协议