Встречается на собеседованиях • сегодня

В чем разница между WSGI и ASGI

WSGI (Web Server Gateway Interface) и ASGI (Asynchronous Server Gateway Interface) — это стандарты взаимодействия между веб-серверами и Python-приложениями.

WSGI — синхронный стандарт, разработанный для традиционных веб-приложений. Он обрабатывает один запрос за раз, что делает его неэффективным для долгих операций (например, запросов к БД).

ASGI — асинхронный стандарт, расширяющий WSGI. Поддерживает WebSockets, long-polling и другие асинхронные операции. Основан на async/await, что делает его идеальным для современных фреймворков (FastAPI, Quart).

Пример WSGI-приложения:

python
def application(environ, start_response):
    start_response('200 OK', [('Content-Type', 'text/plain')])
    return [b'Hello, WSGI!']

Пример ASGI-приложения:

python
async def application(scope, receive, send):
    await send({
        'type': 'http.response.start',
        'status': 200,
        'headers': [(b'content-type', b'text/plain')],
    })
    await send({'type': 'http.response.body', 'body': b'Hello, ASGI!'})

Итог: WSGI — для синхронных приложений (Flask, Django), ASGI — для асинхронных (FastAPI, Starlette).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы