Выбор ответа Junior HTTP, WSGI и ASGI спрашивают часто обновлено

Зачем nginx перед gunicorn

Вопрос

Зачем ставить nginx перед gunicorn или uvicorn?

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

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

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

Коротко

Правильный ответ: TLS, статика, буферизация медленных клиентов, балансировка, лимиты. Сервер приложений умеет HTTP, но нерационально тратить Python-воркер на медленного мобильного клиента, отдачу картинок или TLS. nginx буферизует запрос и ответ, отдаёт статику, завершает TLS, ограничивает размер тела и частоту запросов,…

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

  1. Без nginx Python-приложение не может принимать HTTP-запросы
  2. TLS, статика, буферизация медленных клиентов, балансировка, лимитыправильный ответ
  3. nginx выполняет Python-код быстрее gunicorn через встроенный модуль
  4. nginx заменяет базу данных для кеша сессий и ответов приложения

Разбор

Сервер приложений умеет HTTP, но нерационально тратить Python-воркер на медленного мобильного клиента, отдачу картинок или TLS. nginx буферизует запрос и ответ, отдаёт статику, завершает TLS, ограничивает размер тела и частоту запросов, балансирует между инстансами. Python-код он не выполняет, а кеш ответов у него есть, но это не замена БД.

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

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