Из чего состоит сервер wsgi? - PullRequest
0 голосов
/ 17 ноября 2018

Я читаю спецификацию WSGI, пробовал реализовать простой WSGI-сервер с нуля и тестировал его в простом колб-приложении. В настоящее время это

  • открывает слушатель сокета
  • передает каждое входящее соединение другому потоку для обработки
  • обработчик анализирует запрос, создает окружение , передает его объекту приложения фляги и возвращает ответ.

В целом, похоже, работает. Концептуально, что еще делает реальный сервер, например. Gunicorn делать? Я спрашиваю с точки зрения базовой функциональности, а не с точки зрения поддержки большего количества функций (например, различных протоколов). Что делает сервер лучше, например. почему gunicorn подходит для производства, а wsgiref нет?

1 Ответ

0 голосов
/ 17 ноября 2018

my 2c, это то, что что-то работает довольно легко, просто HTTP - это такой старый / сложный стандарт, что для правильной работы всех пограничных случаев требуется много работы

  • насколько хорошо он терпит ошибки в клиентском коде WSGI
  • HTTP 0,9, 1,0, 1,1 или 2 / SPDY?
  • как вы обращаетесь с вредоносными клиентами, которые отправляют байт каждые 10 секунд
  • различные варианты Keep-Alive и Tranfer-Encoding, по-видимому, потребляют много кода
  • также выполняет кодирование содержимого
...