核心概念
ASGI 全称 Asynchronous Server Gateway Interface (异步服务器网关接口);ASGI 服务器是指实现了改接口规范、用于 python 异步 Web 并行处理HTTP/WebSocket等请求的运行程序。是 WSGI 全称 Web Server Gateway Interface(Web服务器网关接口) 的异步演进版本,允许服务器并发处理大量链接,是现代 python 异步 Web 开发的基石。
核心作用
定义 python Web 框架与服务器之间的标准通信协议,支持异步代码(async/await), 弥补 WSGI无法处理的 HTTP2、WebSocket 等长连接场景的缺失。
要点
- 异步性/性能:支持异步编程,允许异步 I/O、并发执行等提高应用性能
- 兼容性:兼容多种 Web 服务器与框架,如:FastAPI、Django、uvicorn 等
- 生命周期管理:提供生命周期管理,可以控制应用的启动和关闭过程
- 事件驱动:基于事件驱动模型,可以处理不同类型的请求和事件
- 易用性:API设计简介明了,易于学习使用