Выбор ответа Junior HTTP, WSGI и ASGI обновлено

Сигнатура WSGI-приложения

Вопрос

Как выглядит WSGI-приложение?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Вызываемый app(environ, startresponse), возвращающий итерируемое байтов. WSGI-приложение получает словарь environ (метод, путь, заголовки, тело через wsgi.input) и функцию startresponse(status, headers), а возвращает итерируемое байтов тела.

Варианты ответа

  1. Вызываемый app(environ, start_response), возвращающий итерируемое байтовправильный ответ
  2. Корутина async def app(scope, receive, send), отправляющая события
  3. Класс с методом handle(request) -> Response, который вызывает сервер
  4. Функция app(request), возвращающая строку тела ответа в UTF-8

Разбор

WSGI-приложение получает словарь environ (метод, путь, заголовки, тело через wsgi.input) и функцию start_response(status, headers), а возвращает итерируемое байтов тела. Корутина с scope, receive, send это ASGI. Объекты request и Response появляются уже на уровне фреймворка.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.