WSGI (Web Server Gateway Interface) — это традиционный, синхронный стандарт для Python веб-приложений. Он следует простому циклу запрос-ответ, где каждый запрос блокируется до получения ответа.
ASGI (Asynchronous Server Gateway Interface) — его современный преемник, разработанный для поддержки асинхронных операций наряду со стандартной моделью запрос-ответ.
async/awaitgunicorn, uWSGIuvicorn, daphne# Минимальное ASGI приложение
async def app(scope, receive, send):
await send({
"type": "http.response.start",
"status": 200,
})
await send({
"type": "http.response.body",
"body": b"Hello, ASGI!",
})
Используй ASGI, если твоему приложению нужны фичи реального времени, высокая конкурентность или асинхронный доступ к базе данных. Фреймворки как FastAPI и Django Channels построены на ASGI и являются предпочтительным выбором для современной разработки веб-приложений на Python.
WSGI-приложения могут обрабатывать несколько одновременных запросов в одном потоке, используя синтаксис async/await, тогда как ASGI требует один поток на запрос.
Новый — ещё не проверен сообществом
Вы