1. WSGI
WSGI的全称是The Python Web Server Gateway Interface,也就是说WSGI是一种网关接口,用于在协议之间进行转换。
上图所述的就是WSGI所做的事情,它如同一个管道,连接web server和python所写的web app。
web server将HTTP Request发送至WSGI,WSGI再通过web app获取相关的HTPP Response返回给server。
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return '<h1>Hello, web!</h1>'
这段代码是最简单的WSGI,接受HTTP Request信息(environ),同时返回HTTP Response Body(return obj)和HTTP Response header (start_response(status, header))
而web server通过WSGI协议,调用并获取相应的Response,再返回给Client
在Python的世界中,如Django, Flask都是web app,他们都自带了WSGIApplication,可以适用于WSGI Server。