Правильно ли я понял этот принцип работы?
===========================================

 Изучал принцип работы веб сервера и почувствовал, что имею пробел в понимании, что такое WSGI, а точнее я знаю, что это, если говорить по определению, но по своим словам это трудно обьяснить. Вкратце, я просто щас буду писать последовательность действий, которые, по моему понимаю, происходят при попадании на сервер, где лежит какое-то веб приложение, какого-либо запроса, а вы должны будете просто указать, где я оказался неправ. Чтобы в случае непонимании был явно виден корень проблемы незнания, я напишу весь процесс вкратце.  

  

В общем, попал HTTP запрос на сервер, а точнее - на веб сервер, тот отдаёт этот запрос серверу приложений, тот в свою очередь запускает WSGI сервер, которому передаются данные запроса, в WSGI сервер есть обработчик, который обращается уже к самому веб-приложению, но предположим, что перед ним стоит фреймворк, фреймворк получает ещё порции данных от WSGI сервера и переводит их в понятный для разработчика вид, чтобы он мог с этим работать, фреймворк даёт необходимые API для создания приложений, потом в приложении генерируется html страница, отдаётся WSGI серверу, тот отдаёт его обратно серверу приложений, тот отдает его веб-серверу в формате HTTP ответа, тот отдаёт его клиенту(браузеру), тот, при присутствии каких-то необходим доп файлов к странице(css, java скриптов и т д), обращается опять к серверу, тот через веб сервер получает статические файлы и отдаёт обратно. 

> тот отдаёт этот запрос серверу приложений, тот в свою очередь запускает WSGI сервер, которому передаются данные запроса

  

Нет, WSGI сервер запускается один раз.  

> в WSGI сервер есть обработчик, который обращается уже к самому веб-приложению

  

Нет, у WSGI сервера нет зависимостей от твоего приложения.   

> фреймворк получает ещё порции данных от WSGI сервера и переводит их в понятный для разработчика вид

  

Нет, фреймворк не получает ещё порций данных от WSGI сервреа, он получает ровно тоже самое что и приложение без фреймворка.  

> потом в приложении генерируется html страница, отдаётся WSGI серверу, тот отдаёт его обратно серверу приложений

  

Нет, WSGI серверу отдаются данные в формате определённом стандартом WSGI.  

  

WSGI сервер это просто прослойка между "веб" сервером и питон приложением, которая позволяет не задумываться о выборе "веб" сервера и/или фреймворка, на котором будет написано приложение.  

  

WSGI сервер запускается один раз, с натравливанием на специальный объект, определённый стандартом WSGI, этот объект написан разработчиком приложения, или разработчиком фреймворка, если используется фреймворк. (не всегда)  

Когда с "веб" сервера приходит HTTP запрос, WSGI сервер обрабатывает этот запрос, разбирает его на структуру, определённую стандартом, и вызывает тот самый специальный объект, определённый стандартом WSGI, который делает вещи определённые стандартом WSGI, а именно - используя переданный в параметрах объект, отправляет WSGI серверу код HTTP ответа и заголовки ответа, после чего возвращает генератор, который будет возвращать тело ответа. WSGI сервер из всего этого дела варит HTTP ответ и возвращает его "веб" серверу.  

Получать заголовки и тело можно как угодно - можно делать это используя фреймворк типо джанго/flask, или же просто читать из файла.  

  

Просто прочти PEP:  

[https://www.python.org/dev/peps/pep-3333/#environ-...](https://www.python.org/dev/peps/pep-3333/#environ-variables)