Ищу диаграмму, чтобы объяснить wsgi [закрыто
Вопрос
Чтобы еще больше понять мое понимание WSGI, я ищу диаграмму, которая объясняет поток приложения, от WebServer (например, Apache) до нескольких средних вод до «кода» (как в print "hello world"
кусочек).
Я читал различные статьи, касающиеся wsgi от wsgi.org, но это все еще не «щелкает» для меня, и что касается диаграмм, Google не приносит ничего полезного, кроме как это Для Джанго, который, хотя и интересно, ожидает, что пользователь поймет, как промежуточное программное обеспечение связывается и тому подобное.
Поскольку «картинка стоит тысячи слов», есть ли какие -нибудь диаграммы, которые становятся немного ниже/более упрощенными, чем это?
Решение
Я также искал диаграмму, объясняющую поток WSGI в течение некоторого времени. Вот почему я был очень счастлив, когда нашел эту тему. У меня было большое ожидание того, что я собирался увидеть, зная, насколько хорош Ян Бикинг на пишете на Python. Тем не менее, я буквально ничего не получил, глядя на модные трубки Яна (диаграмма?). Вот почему я решил нарисовать его сам. Я надеюсь, что это поможет кому -то понять, как работает поток WSGI. Пока у вас есть предложения, как сделать его лучше, я открыт, чтобы изменить его. Он был создан с Люцидчарт WebApp. Оригинальная диаграмма, которую вы можете найти здесь и высококачественный PNG здесь.
Другие советы
Мне нравится диаграмма от Яна Бикинга WSGI - серия трубок.
Я не знаю, смогу ли я дать ответ, который вы ищете, но диаграмма, с которой вы связаны, показывает больше, чем просто WSGI. Слой wsgi заканчивается на второй линии на диаграмме. После этого это специфично.
WSGI - это скорее определение интерфейса или контракт, который сводится к тому, чтобы каким -то образом вы предоставляете функцию, которая принимает словарь (среда), которая представляет содержимое текущего запроса. и функция для вызова, когда вы будете готовы начать ответ (start_response).
Метод start_response, который вы вызовите, нуждается в коде состояния HTTP ('200 ok') и списком заголовков HTTP ([('Content-type', 'text/html')]).
def say_hello(envron={},start_response):
start_response('200 OK', [('content-type', 'text/html')])
return ["Hello from WSGI"]
Связывание вашего веб -сервера с вашим приложением WSGI относится к вашему веб -серверу, и информация о том, как WebServer прибывает в словарь среды, и обратный вызов для вашего кода - это магия WebServer, которую вам, вероятно, не нужно беспокоиться Анкет И пока вы подчиняетесь протоколу, веб -серверу не нужно заботиться о том, как вы достигли своего списка выводов, которые составляют ваш ответ из вашего приложения.
А Вставить Документация мне очень помогла. Вы можете найти это полезным. Кстати, Paste - это куча полезных вещей, которые помогут вам использовать WSGI. И документы очень хороши для понимания того, как использовать WSGI и, пусть, паста.
Я знаю, что вы попросили диаграмму извините. :(