Ищу диаграмму, чтобы объяснить wsgi [закрыто

StackOverflow https://stackoverflow.com/questions/1303118

  •  19-09-2019
  •  | 
  •  

Вопрос

Чтобы еще больше понять мое понимание WSGI, я ищу диаграмму, которая объясняет поток приложения, от WebServer (например, Apache) до нескольких средних вод до «кода» (как в print "hello world" кусочек).

Я читал различные статьи, касающиеся wsgi от wsgi.org, но это все еще не «щелкает» для меня, и что касается диаграмм, Google не приносит ничего полезного, кроме как это Для Джанго, который, хотя и интересно, ожидает, что пользователь поймет, как промежуточное программное обеспечение связывается и тому подобное.

Поскольку «картинка стоит тысячи слов», есть ли какие -нибудь диаграммы, которые становятся немного ниже/более упрощенными, чем это?

Это было полезно?

Решение

Я также искал диаграмму, объясняющую поток WSGI в течение некоторого времени. Вот почему я был очень счастлив, когда нашел эту тему. У меня было большое ожидание того, что я собирался увидеть, зная, насколько хорош Ян Бикинг на пишете на Python. Тем не менее, я буквально ничего не получил, глядя на модные трубки Яна (диаграмма?). Вот почему я решил нарисовать его сам. Я надеюсь, что это поможет кому -то понять, как работает поток WSGI. Пока у вас есть предложения, как сделать его лучше, я открыт, чтобы изменить его. Он был создан с Люцидчарт WebApp. Оригинальная диаграмма, которую вы можете найти здесь и высококачественный PNG здесь.

WSGI Flow

Другие советы

Мне нравится диаграмма от Яна Бикинга 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 и, пусть, паста.

Я знаю, что вы попросили диаграмму извините. :(

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top