Python Web 框架有两类:
- WSGI(Flask、Django 传统模式):同步阻塞 → 可配合 Gunicorn
- ASGI(FastAPI、Starlette、Django Channels):异步非阻塞 → uvicorn/Hypercorn
FastAPI 使用 ASGI:
uvicorn 是 HTTP/ASGI 服务器
支持异步协程(async/await)
一个进程可以同时处理多个请求,不需要为每个请求创建新线程
性能高、占用低,可直接对外提供 HTTP 接口
特点:
原生 HTTP 服务器:不依赖 Apache/Nginx(虽然生产环境一般仍用 Nginx 做反向代理)
异步非阻塞:大量请求可以共享一个事件循环
支持 WebSocket、流式响应,传统 PHP 很难实现