Как работает стек веб-приложений Python

Я очень редко читал о службах python и REST, поскольку я хочу начать обучение и создание службы. Условия меня сильно смутили – опыт прошлых веб-приложений – это некоторые ограниченные эксперименты Apache + PHP. Исходя из этого, за последние два дня у меня было немного а-ха, и эта диаграмма – это то, что я придумал, пытаясь разобраться во всем.

Введите описание изображения здесь

Я испытываю соблазн изменить диаграмму, потому что кажется, что некоторые веб-фреймворки полностью реализованы как модули, в то время как другие работают, когда сервер WSGI запускает компонент инфраструктуры, который, в свою очередь, вызывает ваше приложение, которое тогда обычно использует модули, предоставляемые каркасом Для некоторых функций. Это точно?

Вопросов:

  1. Что я забыл или понял неправильно?
  2. Кажется, что веб-сервер является необязательным, по крайней мере некоторые серверы WSGI могут работать «автономно», но нередко это рекомендуется только для разработки / тестирования?
  3. Есть ли автономный сервер WSGI для качества продукции?
  4. Как насчет использования WSGI. Люди часто рекомендуют WSGI, но если я правильно его читаю, это касается переносимости. Я не очень забочусь о переносе между веб-серверами / пакетами / фреймами. Устранение слоев имеет свою привлекательность. Когда не используется WSGI, как меняется изображение?
  5. Где происходит переписывание URL? Из того, что я прочитал, это комбинация из двух мест – веб-сервера и / или приложения. Если веб-сервер является лучшим местом для этого, это может создать важную зависимость от наличия гибкого и эффективного веб-сервера в стеке.
  6. Как я могу ограничить повторную запись URL? Могу ли я избавиться от необходимости использовать перезаписи URL, например, путем правильного проектирования приложения? На самом деле, если бы я решил выбрать apache в качестве веб-сервера, казалось бы, из моего ограниченного понимания, что способ пойти должен был бы попытаться устранить использование .htaccess – я думаю, что с целевым сервером Apache можно отключить. Htaccess и поместить правила в основной файл конфигурации или, возможно, оптимизировать использование .htaccess, имея мелкую, упрощенную структуру каталогов. Это, в сочетании с отключением всех, кроме простых модулей Apache, казалось бы, было бы аккуратным решением.
  7. В настоящее время я склоняюсь к использованию web.py в качестве фреймворка, и их страница установки выглядит благоприятной для lighttpd, и у меня нет опыта, но, похоже, достаточно легко освоить. Как lighttpd + web.py меняет изображение?

И самый важный вопрос для всех: а что, когда приложение является RESTful API? Ответы на вышеуказанные вопросы отличаются от службы REST API?

Interesting Posts

Как войти в меню «Дополнительные параметры загрузки» в Windows 7 без загрузчика?

Восстановить данные с жесткого диска с разделами (но не с большинством данных), перезаписанными

Почему IEx64 не является значением по умолчанию для x64 Windows?

Почему мой crontab не работает

Распечатайте файл ASCII на принтере, подключенном через USB

Физическая консоль (экран + клавиатура), предназначенная для виртуальной машины

Использование рабочего стола в качестве поддельной веб-камеры на Linux

Изменение Windows с загрузки с BIOS на EFI из другой ОС

Панель вкладок «Блокнот ++» скрывается

Преобразование DVD в флэш-приложение (включая меню)

Как перенаправить вывод из программы с бесконечным циклом

Firefox, показывать URL-адреса ссылок в строке состояния?

Неблагоприятные последствия использования kill -9 для завершения Skype

Opera: чтение групп Google?

«R не может быть разрешено переменной»?

Давайте будем гением компьютера.