什么是WSGI 和 ASGI?

  • WSGI 是上一代的标准,偏向于CPU密集
  • ASGI 是最新一代的标准,偏向于IO密集。

废话:

  1. Web服务器网关接口(Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口。出自百度百科
  2. ASGI,全称是Asynchronous Server Gateway Interface,是Python Web应用程序的异步服务器网关接口。它可以将Web服务器与应用程序框架连接起来,使之能够处理异步请求。ASGI是为Python Web应用程序中的异步处理而设计的。它允许Python Web应用程序使用异步代码而不需要阻塞进程或线程,从而能够更好地处理高并发请求。引用

选哪个?Quart!

无脑直接ASGI。

  • flask是基于WSGI的实现
  • quart是基于ASGI的实现,当然同时也是编写flask的同一批人做的,接口和flask非常相似。


Quart 资源汇总

文档:https://quart.palletsprojects.com/en/latest/

源码: https://github.com/pallets/quart