WSGI

Web Server Gateway Interface,是一种协议规范. // 描述服务器怎么和应用程序通信组成:web server和application // web服务器和应用app**web server 负责接受客户端的请求,调用WSGI应用程序,传入environ(请求对象),start_response(负责返回响应)application 负责处理请求,返回响应给服务器**注意:wsgi要求application:a> 应用程序是一个可调用对象 // 函数、类(实现__call__)b> 应用程序必须接受2个参数 // environ和start_responsec> 应用程序必须返回可迭代的值app.run运行原理

app.run --> werkzeug.serving.run_simple --> BaseWSGIServer--> HTTPServer --> socketserver.TCPServer --> socketserver.BaseServerapp.run() run_simple(host, port, self, **options) // 启动服务器,内部会加载中间过程 判断static和debug等 __call__(self, environ, start_response) // 服务器调用应用程序,触发__call__ wsgi_app(self, environ, start_response) // 真正的wsgi处理程序