加载中...

WSGI(Web Server Gateway Interface)是 Python Web 应用与 Web 服务器之间的标准接口规范,最初由 PEP 333 提出,后经 PEP 3333 更新以适配 Python 3。
WSGI 将 Web 应用定义为一个可调用对象,接收 environ 字典(封装请求信息)与 start_response 回调两个参数,返回响应体的可迭代对象。服务器与应用只要各自遵守这一契约,即可任意组合:Flask、Django 等框架产出 WSGI 应用,Gunicorn、uWSGI、mod_wsgi 等服务器负责运行它们。
由于应用本身就是可调用对象,WSGI 天然支持洋葱式中间件:一个中间件包裹另一个应用,即可在请求前后插入逻辑,这一模式深刻影响了后续各语言框架的中间件设计。
WSGI 是同步阻塞模型,每个请求占用一个线程或进程,无法原生表达 WebSocket 与长连接,这一缺陷直接催生了异步继任规范 ASGI。

登录 后参与讨论
暂无讨论,来发表第一条评论吧